2009-06-25 8 views
7

Lavoro con diversi sviluppatori in India e una delle nostre maggiori difficoltà è la loro denominazione delle variabili. All'inizio ero molto frustrato e non riuscivo a capire perché non avrebbero semplicemente nominato le cose (era la pigrizia?) Tuttavia, mi sono reso conto che probabilmente non sono abituati a nominare le variabili, perché tutto il codice che leggono è in Inglese, e le parole inglesi che leggono hanno poco o nessun significato per loro. Sembra ovvio ora, ma è impossibile nominare bene le variabili se non riesci a capire adeguatamente l'inglese.Nome variabile e membri del team che parlano un'altra lingua

Come lavoreresti per migliorare le pratiche di denominazione con un membro del team di lingua straniera?

Scusate se questo è un po 'soggettivo, l'ho segnato wiki della comunità.

Grazie!

+0

Questo è un problema comune nella nostra organizzazione. Sono interessato a vedere le risposte. +1. –

risposta

1

Trova l'unico sviluppatore con cui lavori con qualcuno che conosce un po 'di inglese e tutti hanno nomi variabili da lui?

1

Forse hanno chiamato le variabili in modo descrittivo nella loro lingua nativa e poi usano un traduttore per convertirle in inglese? Potrebbe persino essere in grado di aggiungere markup ed eseguire un precompilatore per eseguire la traduzione automatica? Solo un pensiero.

3

La maggior parte degli sviluppatori deve avere una ragionevole conoscenza dell'inglese tecnico (dopotutto, le API nella maggior parte delle lingue sono scritte in inglese). Pertanto, l'inglese sembra una buona scelta. Le variabili in genere non hanno nomi molto difficili ad es. xCounter, isXYZ, ecc. E se sono difficili da nominare, allora lo prenderei come un segno sicuro che il livello di astrazione in cui viene dichiarata quella variabile non è quello giusto.

Si potrebbe proporre di localizzare nomi di variabili. Ho scoperto che in realtà difficile, più al giorno d'oggi quando è tipico per il codice che dovrà assumere persone che si trovano in altri continenti, società acquisite all'estero, ecc

devo succedere ☺

12

modificare i requisiti per i membri del vostro team - devono avere una comprensione adeguata dell'inglese scritto.

Modifica: in risposta al commento di Bill K, mi sembra che il costo di trattare con problemi di comunicazione poveri non sia preso in considerazione nei calcoli di risparmio. No, non ho mai lavorato con sviluppatori stranieri, ma lavoro con 2 non-madrelingua inglesi e la comunicazione a volte è più lenta con loro, anche se hanno vissuto entrambi negli Stati Uniti per 20 anni.

Inoltre, non mi aspettavo che la mia risposta fosse la più utile. Sto solo cercando di fare un punto. Se non dovessi assumere qualcuno per lavorare nel tuo ufficio, allora perché dovresti assumerli per lavorare dall'altra parte del mondo? Anche se stai attraversando un'agenzia, stai assumendo indirettamente tutti gli sviluppatori che lavorano sul tuo codice.

La mia esperienza è stata che quando si tratta di talento per lo sviluppo, essere a buon mercato può essere piuttosto costoso.

+0

Generalmente è qualcosa su cui non hai il controllo. Non so se hai lavorato nel settore, ma in genere nessuno al di sotto del livello di direttore si offrirà volontario per lavorare con gli appaltatori di un altro paese per risparmiare denaro per lo sviluppo. Presa in considerazione, la tua risposta potrebbe essere corretta ma non utile. –

+0

abbastanza vero, economico = economico e scadente – akf

+0

@Dennis Sono assolutamente d'accordo, non lo farei. In effetti, potrei dimettermi se lavorassi per una società che voleva impegnare il suo futuro in un team di sviluppo di un altro paese perché la vedrei come una società condannata, ma il mio punto era che non avevo mai visto un caso in cui uno sviluppatore ha davvero avuto qualche possibilità in merito. La compagnia potrebbe provare a farti pensare di avere una scelta in merito, ma non importa quanto tu sia duro e quanto tu mostri loro che stanno perdendo dei costi, faranno ciò che hanno deciso di fare. –

4

Se tutti parlano la stessa lingua e non vendono il codice a un'altra società, è possibile scrivere il codice nella propria lingua madre.

Se ciascun membro parla una lingua diversa, il codice deve essere in inglese. Prova a creare un dizionario delle parole più comuni utilizzate nell'applicazione in cui tutti possono controllare. Scegli qualcuno con più competenze in inglese per tradurre quando è necessario.

E si può sempre refactoring quando alcune parole sembrano sbagliate.

+1

mi piace l'idea del dizionario – Shawn

7

È possibile rendere il 'nome variabile' un argomento per ogni revisione del codice. Sarebbe un dato di fatto che potrebbe essere facile discutere. Puoi usare la discussione come indicatore per capire se capiscono cosa stanno cercando di ottenere.

+1

Di gran lunga l'unica idea praticabile qui. La revisione del codice e semplicemente cambiarli - dovrebbe essere banale in eclipse/netbeans. In genere, è necessario dedicare uno sviluppatore per ogni 2-4 sviluppatore oltreoceano, se si desidera che il progetto abbia comunque un certo successo, quindi aggiungilo come una delle cose che devi fare. Se la direzione capisse questo principio, sarebbe meno incline a correre all'estero per chiedere aiuto! –

2

Non intendo essere critico, ma ho una domanda reale ... Se non sono abbastanza fluente in inglese per nominare le variabili, come sono abbastanza fluenti da comprendere un modello di dominio aziendale basato sulla lingua inglese , molto meno progettazione e costruzione di un prodotto software che risolve un problema reale in quel dominio?

+0

non progettano molto, la sua implementazione di software personalizzato, correzioni di errori, ecc. Seguono una specifica abbastanza rigida, ma il mantenimento del codice (a parte la copia di massa) può essere un incubo con variabili denominate qualcosa di completamente non correlato al loro compito – Shawn

+0

Ecco uno scenario. Un team di programmatori che sono abbastanza abili e per lo più capiscono un po 'di inglese tecnico scritto, ma difficilmente parlano e scrivono la lingua hanno guadagnato una certa reputazione scrivendo software closed source per i loro clienti di lingua inglese (grazie alla direzione che parla bene l'inglese). Fin qui tutto bene, perché a nessuno importa come chiamino le loro entità.Tuttavia ora decidono di andare avanti a cooperare con alcune società di software americane che si innamorano della loro reputazione, ed è solo allora che il problema con err ... brutto? .. nomina il nome. Eccoti. –

1

Non sono sicuro del problema specifico, ad esempio i nomi delle variabili non sono descrittivi oppure utilizzano nomi variabili non in inglese, lo stile di denominazione delle variabili è incoerente ecc. In ogni caso, è possibile provare a stabilire standard di codifica dettagliati e forse usare audit o revisioni del codice per farli rispettare. Per esempio:

  • Utilizzando "temp" come il nome delle variabili locali non è consentito
  • variabili devono essere denominati in modo che lo scopo della variabile è evidente
  • Utilizzare sempre uno stile coerente per citarne variabili (es. Camel Case)

La chiave sarebbe pubblicare queste regole e applicarle per l'intera organizzazione.

+0

questo è qualcosa che abbiamo provato. sfortunatamente fare delle regole su cosa dovrebbe essere fatto non può mai aiutare con il contenuto reale dei nomi delle variabili. potrebbero smettere di usare l'involucro ungherese, potrebbero sempre usare l'involucro coerente, ecc., ma non useranno mai nomi di variabili come numberOfMissingPageTemplates - sarà solo qualcosa come un contatore – Shawn

Problemi correlati