Dovrei indicare errori ortografici / grammaticali nel codice di qualcuno? [chiuso]

103

Durante la revisione del codice di un collega, ho riscontrato errori di ortografia nei nomi di funzioni e anche errori grammaticali come "doesUserHasPermission ()" invece di "doesUserHavePermission ()" nei nomi di funzioni e variabili.

Dovrei segnalarlo a lui o sono troppo pedante osservandoli?

    
posta Rahul 28.12.2010 - 05:55
fonte

16 risposte

202

Il codice con errori di ortografia e grammatica è non modificabile .

  • Le persone non ricorderanno la grammatica sbagliata, quindi proveranno a chiamare la funzione come avrebbe dovuto essere scritta, ed è così che si verificano gli errori.

  • Non puoi grep per qualcosa nel codice se non sai come è scritto.

  • La maggior parte le persone che fanno grammatica / ortografia in modo incoerente, quindi introdurranno molti bug con nomi non corrispondenti. Questo è particolarmente problematico in linguaggi che non richiedono che le variabili vengano dichiarate esplicitamente prima dell'uso, perché puoi introdurre una nuova ortografia e il tuo codice non verrà fermato per farti sapere che hai sbagliato.

Correggere questi problemi non è pedante, né è richiesto principalmente dalle opinioni altrui sull'intelligenza, l'alfabetizzazione, ecc. (anche se questo è un grande effetto collaterale); si tratta di scrivere codice di qualità, gestibile .

    
risposta data 28.12.2010 - 06:31
fonte
37

Sì, sicuramente. È più facile ricordare il nome se è grammaticalmente corretto. Cercare di ricordare gli errori di grammatica e del nome è un'altra cosa completamente.

    
risposta data 28.12.2010 - 06:01
fonte
28

Non indicarli come difetti in una revisione formale del codice. Invece, segna un elenco e parla con lui / lei in modo PRIVATO di loro. Sii il più diplomatico possibile a riguardo, solo "Ehi, qualcosa che ho notato, e ho incontrato persone che davvero guardano dall'alto in basso questo tipo di cose, pensano che faccia sembrare il programmatore disattento e sciatto."

Se questo è il codice che un cliente vedrà, DEVE assolutamente essere corretto. Piaccia o no, riflette sulla reputazione della tua azienda.

Per l'esempio che hai dato, sospetto che sia iniziato come UserHasPermission, e qualcun altro gli ha detto che la pratica locale era UserBlahBlah () piuttosto che UserBlahBlah (), e ha semplicemente trascurato il cambiamento di grammatica.

    
risposta data 28.12.2010 - 06:02
fonte
10

Modifica tu stesso.

Spero che tu ti trovi in un ambiente in cui il codice "proprietà" non è un problema. Se hai accesso al progetto nel controllo del codice sorgente, entra e risolvilo da solo. Se vedi un collega in particolare che fa lo stesso tipo di errori di grammatica o di ortografia in modo coerente, potresti voler indicarlo, ma ciò dipenderà dalla tua relazione, indipendentemente dal fatto che la persona sia un madrelingua inglese e dalla sua generica disponibilità. Ma se decidi di farlo o meno, vai tranquillamente a fare la correzione. Lo faccio sempre, se vedo un errore di battitura, specialmente in una firma del metodo o in una proprietà pubblica, lo aggiusto semplicemente. Occasionalmente non riesco nemmeno a resistere alla tentazione di correggere un refuso in un commento, ma sono solo io:)

    
risposta data 28.12.2010 - 15:20
fonte
6

Sono uno sviluppatore la cui lingua madre non è l'inglese, in realtà è olandese e non mi dispiacerebbe affatto se qualcuno mi indicasse un errore di grammatica o di ortografia. In questo modo posso costantemente migliorare il mio inglese. E non è certamente difficile correggere tutti gli errori in tutto il codice sorgente. Un semplice script Perl può essere facilmente scritto in loop su tutti i file in una cartella. Forse anche si può fare con sed? Non lo so.

Quindi indubbiamente vorrei sottolineare errori di grammatica o di ortografia nel codice di qualcun altro, ma solo se sono assolutamente sicuro che sia corretto quello che sto dicendo.

    
risposta data 28.12.2010 - 20:14
fonte
6

Immagino che valga la pena menzionare qui che l'intestazione del referrer HTTP nel protocollo HTTP era errata come "referer" (e dobbiamo conviverci / abbiamo imparato a conviverci.):)

    
risposta data 28.12.2010 - 15:29
fonte
4

Sono d'accordo con altre risposte che dicono che il codice con errori grammaticali è irraggiungibile.

Voglio anche aggiungere alcune cose:

  • Il codice è spesso scritto da persone che non parlano inglese molto bene e / o l'inglese non è la loro lingua madre. Se c'è un errore di grammatica in un codice che controlli, questo non significa che il tuo collega abbia fatto questo errore. Forse era solo una copia-incolla da un sito web.
  • Se l'inglese non è una lingua nativa del tuo collega, potrebbe essere una buona idea o una pessima idea dirgli di questo errore. Essendo francese, accolgo sempre osservazioni sugli errori che faccio in inglese, perché è l'unico modo in cui posso evitarli in futuro; d'altra parte, conosco molte persone che si sentono molto ferite se gli parli degli errori grammaticali che fanno.
  • Come ha detto John R. Strohm, non farlo mai pubblicamente. La maggior parte delle persone sarà davvero infastidita da questo.
risposta data 28.12.2010 - 06:56
fonte
2

Raccomando di utilizzare un IDE con il correttore ortografico integrato. IntelliJ Idea fa un ottimo lavoro per i programmi Java. Ci sono molti errori di battitura che cattura, non solo nei nomi delle funzioni, ma in es. messaggi di eccezione che l'utente può vedere. Un programma che produce messaggi pieni di errori di battitura non ispira molta fiducia.

    
risposta data 28.12.2010 - 19:24
fonte
0

Lo faccio solo se

  • influisce sull'uso del programma
  • influisce sulla precisione del programma
  • So esplicitamente che l'autore vuole essere corretto.

Come nota a margine, se i nomi delle tue funzioni sono abbastanza lunghi da avere la grammatica, probabilmente sono troppo lunghi. Nell'esempio fornito, chiamerei la funzione userHasPermission e sposterei la "grammatica" nel tuo codice, qualcosa del genere:

if userHasPermission() ...
    
risposta data 28.12.2010 - 07:41
fonte
0

Questo accade anche molto nel mio progetto (essendo popolato da nativi ebrei, russi o arabi), ma anche a un livello più alto - spesso vedo un codice che usa una terminologia oscura che sembra essere ciò che il dizionario ha prodotto come la traduzione per ciò che l'autore aveva in mente, e non ha nulla a che fare con il loro significato ...

Personalmente, quando accade così spesso e da così tanti membri del team che potrebbero aver scritto il codice prima ancora di aderire al progetto, tendo a ignorarlo, perché non ha importanza.

Tuttavia, se sto lavorando nello stesso file del codice o dei commenti che sono stati scritti molto tempo fa e hanno errori di battitura in, li correggerò solo perché non è troppo lavoro.

    
risposta data 28.12.2010 - 10:50
fonte
0

Applica la regola dorata

Do unto others as you would have them do unto you.

Voglio che gli altri abbiano le spalle su questo genere di cose, quindi aiuto gli altri. Essere gentile e solidale può fare molto a tuo favore.

    
risposta data 28.12.2010 - 17:15
fonte
0

Come per molte altre buone pratiche di programmazione, l'unico modo oggettivo, non politico ed efficace di implementare una politica sull'ortografia nei programmi è di automatizzarlo come parte del processo di pre-commit. L'automazione ti salverà da enormi quantità di lamentele anche se devi scrivere il tuo strumento per lo scopo.

    
risposta data 28.12.2010 - 20:24
fonte
0

Questo è un errore minore nel codice, ma è un errore. Trattalo come qualsiasi altro errore che trovi. La mia politica è sempre quella di presumere che i miei collaboratori siano competenti e li trattano in questo modo finché non dimostrano il contrario.

Se si tratta di un singolo errore, potrei semplicemente aggiustarlo e verificarlo. Se si tratta di un modello, potrei iniziare a convincere quel collaboratore a rivedere quelle correzioni. Fai sapere loro che pensi di essere un buon programmatore, ma che questo è qualcosa che sarebbe bello migliorare. Però non penso che farei un grosso problema per qualcosa del genere.

Finché non lo tratti come se fosse un grosso problema, dovrebbe essere facile mettere quel collaboratore in una posizione in cui possono migliorare senza mettere l'ego in prima linea.

    
risposta data 28.12.2010 - 23:53
fonte
-1

userPermission () forse? -

L'ultimo che ho trovato era un problema globale dei risultati di ricerca che non venivano evidenziati perché il nome della classe era scritto hightlight. Bug molto oscuro da individuare.

    
risposta data 28.12.2010 - 14:24
fonte
-1

Certo, fai attenzione, ma non perdere tempo a controllare gli errori di ortografia. Usa uno strumento per automatizzarlo sul tuo CI. Su .net fxCop può farlo ...

    
risposta data 28.12.2010 - 16:59
fonte
-2

Dipende in gran parte da quali sono gli errori, da quanto comuni e quanto cattivi sono, e se sia in realtà un errore in buona fede o semplicemente non come lo faresti.

Personalmente non lo sopporto quando qualche idiota trascina una revisione del codice di 5 minuti in mezz'ora perché vuole che tutto cambi nome a come lo farebbe e tutti i commenti sono stati riformulati solo perché gli piace attaccare il suo remo. Una riga di registrazione che dice "Caricamento degli oggetti dati" non deve essere modificato in "Il componente del caricatore degli oggetti dati carica ora gli oggetti dati rilevanti dal componente di archiviazione degli oggetti dati".

/ rant:)

    
risposta data 28.12.2010 - 19:21
fonte

Leggi altre domande sui tag