it-swarm.it

Devo segnalare errori di ortografia / grammaticali nel codice di qualcuno?

Durante la revisione del codice di un collaboratore, mi sono imbattuto in alcuni errori di ortografia nei nomi delle funzioni e anche errori grammaticali come doesUserHasPermission() anziché doesUserHavePermission() nella funzione e nei nomi delle variabili.

Devo segnalarglielo o sono troppo pedante notandoli?

109
Rahul

Il codice con errori di ortografia e grammaticali è non mantenibile .

  • La gente non ricorderà la cattiva grammatica, quindi proveranno a chiamare la funzione come avrebbe dovuto essere scritta, ed è così che si verificano i bug.

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

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

Correggere questi problemi non è pedante, né è principalmente necessario dalle opinioni altrui sulla propria intelligenza, alfabetizzazione, ecc. (Sebbene questo sia un grande effetto collaterale); si tratta di scrivere qualità, codice gestibile.

210
HedgeMage

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

39
Jason Baker

Non segnalarli come difetti in una revisione formale del codice. Invece, segnare un elenco e parlare con lui/lei PRIVATAMENTE di loro. Sii il più diplomatico possibile al riguardo, solo "Ehi, qualcosa che ho notato, e ho incontrato persone che VERAMENTE guardano dall'alto in basso, pensano che faccia sembrare il programmatore trascurato e sciatto."

Se si tratta di un codice che verrà visualizzato da un cliente, 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 UssBlahBlah () anziché UserBlahBlah (), e ha semplicemente trascurato il cambio di grammatica.

28
John R. Strohm

Cambialo tu stesso.

Spero che tu sia in un ambiente in cui la "proprietà" del codice non è un problema. Se hai accesso al progetto nel controllo del codice sorgente, accedi e correggilo tu stesso. Se vedi un particolare collega che commette lo stesso tipo di grammatica o errori di ortografia in modo coerente, potresti volerlo sottolineare, ma ciò dipenderà dalla tua relazione, se la persona è di madrelingua inglese e dalla sua ricettività generale. Ma che tu abbia mai deciso di farlo o meno, vai tranquillamente a fare la correzione. Lo faccio sempre, se vedo un errore di battitura, specialmente nella firma di un metodo o in una proprietà pubblica, lo aggiorno. A volte non riesco nemmeno a resistere alla tentazione di correggere un errore di battitura in un commento, ma sono solo io :)

10
Marcie

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). :)

6
Bunny Rabbit

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

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

6
user11317

Concordo con altre risposte affermando che il codice con errori grammaticali non è realizzabile.

Voglio anche aggiungere alcune cose:

  • Il codice è spesso scritto da persone che non parlano molto bene l'inglese e/o l'inglese non è la loro lingua madre. Se c'è un errore grammaticale in un codice che rivedi, ciò non significa che il tuo collega abbia commesso questo errore. Forse era solo una copia-incolla da un sito Web.
  • Se l'inglese non è una lingua madre del tuo collega, potrebbe essere una buona o cattiva idea parlargli di questo errore. Essendo dalla Francia, accolgo sempre con favore le osservazioni sugli errori che faccio in inglese, perché è l'unico modo per evitarli in futuro; d'altra parte, conosco diverse persone che si sentono davvero ferite se dici loro degli errori grammaticali che fanno.
  • Come ha detto John R. Strohm, non farlo mai pubblicamente. La maggior parte delle persone ne sarà davvero infastidita.
4
Arseni Mourzenko

Consiglierei di usare un IDE con controllo ortografico incorporato. IntelliJ Idea fa un ottimo lavoro per Java. Ci sono molti errori imbarazzanti che cattura, non solo in nomi di funzioni, ma ad esempio in messaggi di eccezione che l'utente può vedere: un programma che produce messaggi pieni di errori di battitura non ispira molta fiducia.

2
Roman Zenka

Questo è un errore minore nel codice, ma è un errore. Trattalo come qualsiasi altro errore che trovi. La mia politica è sempre quella di supporre che i miei collaboratori siano competenti e li trattano in quel modo fino a quando non dimostreranno il contrario.

Se si tratta di un singolo errore, potrei semplicemente correggerlo e verificarlo. Se è uno schema, potrei iniziare a convincere quel collega a rivedere quelle correzioni. Fai sapere loro che pensi di essere un buon programmatore, ma che è qualcosa su cui sarebbe meglio migliorare. Non penso che avrei mai fatto un grosso problema con qualcosa del genere, comunque.

Finché non lo trattate come se fosse un grosso problema, dovrebbe essere facile mettere quel collaboratore in una posizione in cui possano migliorare senza mettere l'ego in pericolo.

0
overstood

Si applica la regola d'oro

Fai agli altri quello che vorresti fosse fatto a te.

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

0
kevpie

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

0
Apalala

Lo faccio solo se

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

Proprio come una nota a margine, se i nomi delle tue funzioni sono abbastanza lunghi da avere grammatica, probabilmente sono troppo lunghi. Nell'esempio dato, chiamerei la funzione serHasPermission e sposterò la "grammatica" nel tuo codice, qualcosa del genere:

if userHasPermission() ...
0
Mark Harrison

Questo succede anche MOLTO nel mio progetto (essendo popolato da persone madrelingua ebraica, russa o araba), ma anche a un livello superiore - spesso vedo un codice che utilizza una terminologia oscura che sembra essere ciò che il dizionario ha prodotto come traduzione per ciò che l'autore aveva in mente, e non ha nulla a che fare con il loro significato ...

Personalmente, quando succede così spesso e da così tanti membri del team che avrebbero potuto scrivere il codice anche prima di aderire al progetto, tendo a ignorarlo, perché semplicemente non importa.

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

0