È buona norma codificare in inglese? [duplicare]

37

Ho uno sviluppo che è destinato ad essere venduto in tutta l'America Latina (spagnolo), ma ho sentito da alcuni partner che è una buona pratica scrivere sempre in inglese, voglio dire solo codice (metodi, classi, nomi di pagine, ecc.), le etichette sulla GUI saranno tutte in spagnolo ...

Il codice verrà modificato in futuro da sviluppatori di società in tutta l'America Latina e solo forse da fuori.

Che ne pensi ?, qualche esperienza con questo?

    
posta Milox 12.10.2011 - 18:30
fonte

11 risposte

54

Sono francese e lavoro in un'azienda francese.

Tuttavia, codifichiamo principalmente in inglese. Ecco perché:

  • A volte abbiamo persone non francesi che lavorano con noi, quindi è più facile per loro.

  • Abbiamo del codice proveniente da terze parti (lib, framework, ecc.) e questo codice è spesso in inglese, quindi non vogliamo finire con un patchwork di codice franco-inglese.

In generale, questo non è un problema perché devi comunque capire l'inglese se vuoi essere un buon programmatore.

    
risposta data 12.10.2011 - 18:38
fonte
22

Nella maggior parte dei linguaggi di programmazione le parole chiave sono in inglese, quindi in generale sembra un po 'forzato se si mischiano le lingue.

Per questa ragione, così come i numeri degli sviluppatori, l'inglese tende a essere la lingua utilizzata nella maggior parte degli sviluppi, persino gli sviluppi da parte di società con sede in paesi non di lingua inglese.

    
risposta data 12.10.2011 - 18:40
fonte
21

In generale, come detto in altre risposte: I linguaggi di programmazione usano parole chiave inglesi e, quando un progetto diventa più grande, potresti far sì che persone straniere lavorino sul codice. Inoltre, concetti come "getter" e "setter" o istanza in linguaggi come Java sono comunemente chiamati getFoo o setFoo e ha senso mantenere questa convenzione.

D'altra parte, potresti creare un'applicazione per uno specifico mercato di destinazione. Io, ad esempio, lavoravo per una grande banca che sviluppava software di analisi del saldo in cui avevamo un linguaggio finanziario e giuridico tedesco. Alla fine, abbiamo deciso di utilizzare gli identificatori tedeschi per mantenere i termini esatti come i termini inglesi a volte avevano un significato leggermente diverso; dall'altra parte, abbiamo mantenuto la convenzione per usare l'inglese in altri posti, quindi abbiamo avuto funzioni come getUmlaufvermoegen() (invece di getCurrentAssets() ) che sembra "divertente" ma ha dimostrato di funzionare bene, poiché potremmo facilmente passare attraverso i calcoli insieme con gli esperti della banca che hanno definito i calcoli che abbiamo fatto, ma è stato coerente con i framework ecc. che abbiamo usato.

    
risposta data 12.10.2011 - 18:55
fonte
5

Vivo in Colombia e ci viene insegnato a scrivere il nostro codice in inglese per motivi di universalità, la maggior parte dei buoni programmatori conosce comunque le 2 lingue perché è necessario e perché quasi tutta la documentazione e il riferimento sono scritti in inglese;

Quindi penso che sia sicuro scrivere il tuo codice in inglese è molto probabile che capiranno ed è una buona pratica.

    
risposta data 12.10.2011 - 19:13
fonte
5

Questo è difficile. Il problema di avere tutti i nomi delle variabili in inglese è che devi tradurre il dominio del cliente dalla loro lingua madre in inglese. E questo è davvero difficile a volte, dato che la denominazione è uno dei problemi più difficili nella programmazione. Se stai provando a praticare DDD, la creazione di un linguaggio di dominio ubiquitario è quasi impossibile. Ci saranno sempre due versioni di ogni concetto e il significato si perde nella traduzione.

Ma d'altra parte se mischi un'altra lingua nella base di codice (oltre all'inglese), sarà sempre disordinata e illeggibile per tutti coloro che non possono parlare quella lingua.

In qualità di madrelingua inglese che vive in Svezia, mi propongo di tradurre tutto in inglese tranne la strana parola che non può essere tradotta senza perdere parte del suo significato.

    
risposta data 17.10.2011 - 20:52
fonte
3

Di recente stavamo discutendo degli standard di codifica sul lavoro e un punto interessante è venuto fuori. Siamo parlanti inglese nel Regno Unito e siamo stati indirizzati al codice in inglese americano. Per quanto sia difficile per noi inghiottire il nostro orgoglio, dobbiamo accettare che questa è la cosa giusta da fare. Sebbene non vi sia alcuna differenza nelle parole chiave, gran parte del framework .NET è in inglese americano, e accetto che sia meglio mantenere la coerenza, piuttosto che mettere l'orgoglio nazionale al primo posto:).

Potrebbe anche aiutare il tuo inglese (non che ci sia qualcosa di sbagliato in questo!). La grande domanda è, con le economie emergenti in aumento, quando noi inglesi dobbiamo imparare a codificare in portoghese brasiliano, russo, hindi o mandarino:)

    
risposta data 12.10.2011 - 23:10
fonte
2

Vivo in Italia e qui di solito vedi l'inglese mescolato con parole italiane o inglesi con suffissi italiani .. Questo è molto diffuso, ad esempio in una diapositiva in un corso universitario CS che ho visto:

bool checkFatto;

("check done")

Sono fermamente convinto che tutto il codice, inclusi i commenti e persino i discorsi degli sviluppatori personali dovrebbero essere in inglese. L'italiano semplicemente non ha molte delle parole richieste per discutere argomenti di programmazione. Ma questo è praticamente mai fatto .. Forse è per questo che ho scelto di telelavorare per una compagnia americana.

Qualcosa che mi infastidisce sono le persone che fanno domande di programmazione google in italiano o cercano la wikipedia italiana. Non hanno idea della quantità di informazioni che stanno perdendo (come la totalità di SO).

    
risposta data 12.10.2011 - 23:26
fonte
2

Inglese:

GetUserInvoices(int userId);

Spagnolo:

ObtenerFacturasDelUsuario(int idDeUsuario);

Le parole inglesi sono generalmente più brevi e più facili da leggere, questo è uno dei motivi per cui di solito codifico in inglese (sono spagnolo). L'altro è che trovo brutto mescolare parole spagnole con le parole chiave in inglese e classi e membri del framework.

    
risposta data 20.10.2011 - 16:35
fonte
0

È un dilemma da parte mia: per meccanismo e parole chiave, o leggere documenation, nessun vero problema.

Il mio inglese è scarso e questa lingua non ha parole per molte idee significative.

Ho provato a svilupparlo in inglese, mi ha portato fuori strada, e devo rifarlo con parole conosciute che rappresentano il mondo reale.

Quindi, per codice core / essenziale è in francese (nessuno è perfetto) con traduzione in doppio linguaggio con la speranza che per un inglese nativo non sia così diffuso avere le chiavi di comprensione vicino al codice pezzo (non tutto) .

Non è orgoglio, solo per arricchire il lavoro con culture diverse e per fare il lavoro nel modo migliore.

    
risposta data 20.10.2011 - 09:55
fonte
0

Quando abbiamo iniziato la nostra applicazione cinque anni fa, avevamo solo 4 programmatori olandesi. Ma abbiamo scritto tutto in inglese.

Oggi il nostro codice è utilizzato da colleghi francesi e sviluppatori indiani. Grazie all'utilizzo dell'inglese, possono anche usare il nostro codice. I colleghi francesi hanno un bel po 'di francese nei loro commenti e schemi di denominazione. Possiamo ancora capirci qualcosa ma è molto più semplice se tutto è in inglese.

In breve, e se domani avessi alcuni colleghi brasiliani?

    
risposta data 20.10.2011 - 14:50
fonte
-1

Sono fermamente convinto che nessuno sviluppatore serio possa essere incapace di comprendere, per lo meno, l'inglese in forma scritta . In quale altro modo faresti riferimento alla documentazione di qualsiasi biblioteca, leggere un libro su un argomento altamente specializzato o persino utilizzare Stack Overflow?

Nel tuo caso particolare, è probabile che se un cliente "richiede" che il codice sorgente sia nella loro lingua locale, potrebbe essere un'azienda piuttosto di basso profilo e forse non ti piacerebbe stabilire una relazione con tale un cliente.

    
risposta data 17.10.2011 - 21:14
fonte

Leggi altre domande sui tag