Devo segnalare errori di ortografia / grammaticali nel codice di qualcuno? [chiuso]


106

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 ()' invece di 'doesUserHavePermission ()' nella funzione e nei nomi delle variabili.

Devo segnalarglielo o sono troppo pedante notandoli?


3
Potrei stare attento che la persona in realtà vuole aiuto con il loro inglese, se non è la loro seconda lingua. Alcune persone sono contente di sapere che non sono in grado di esprimere il pensiero strutturato, che sono semplicemente incapaci di un inglese corretto. Se l'inglese è la loro lingua madre, allora sì, penso che la cattiva grammatica sia un problema.
Rei Miyasaka,

31
Sì. È davvero frustrante quando hai un'API con errori di ortografia. Si diffonde come un incendio. Quindi è meglio correggerlo il prima possibile.

9
@Rei: se l'inglese è la loro lingua madre o meno dovrebbe essere irrilevante in un ambiente professionale; se non è poi così male per loro, ma non è una scusa, dovrebbero essere mantenuti agli stessi standard.
Thomas Bonini,

4
@Rei, molti lavori di programmazione che vedo pubblicizzati richiedono competenza in madrelingua proprio per questo motivo. Essere in grado di discutere requisiti, design, specifiche e costruzione sono tutti molto importanti per l'intero prodotto software nel suo insieme.
Stephen Furlani,

Risposte:


205

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

  • La gente non ricorderà la cattiva grammatica, quindi proveranno a chiamare la funzione come avrebbe dovuto essere scritta, ed è così che accadono 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 codice di qualità e gestibile .


7
+1 A volte è importante risparmiare i sentimenti di qualcuno, ma quando si tratta di una revisione del codice ... se lo si cattura, è giusto commentare. La mia azienda utilizza un crogiolo per le revisioni del codice, che consente a tutte le recensioni di vedere che è stato catturato e consente al revisore di contrassegnarlo non come un difetto, ma come stile.
opello,

15
+1: una volta che l'ortografia e gli errori grammaticali si sono fatti strada in un'API, è quasi impossibile uscirne di nuovo. Ho trascorso la maggior parte dei tre anni a scrivere "Avtivity" anziché "Activity", e mi ha sempre fatto male fisicamente farlo.
John Bode,

7
Nel bene e nel male, le buone pratiche di programmazione spesso si riducono a qualcosa di molto simile alla pedanteria. Inoltre, vorrei trovare la persona che ha scritto erroneamente Referrerle specifiche HTTP originali e dargli un calcio nella caviglia. Certo, era probabilmente Berners-Lee e quindi mi sentirei in colpa dopo ...
Malvolio,

2
@Stephan Furlani: questo è il punto che stavo cercando di chiarire; faceva parte di un'API di cui non eravamo proprietari. Non siamo riusciti a risolverlo da parte nostra, e il processo per risolverlo è stato abbastanza brutto e lungo che nessuno voleva rovinarlo.
John Bode,

2
@ John Bode, penso che avresti dovuto creare una funzione wrapper :) C # ha un trucco per questo (ho dimenticato il suo nome però).
Giobbe

38

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


29

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.


12
Dire che riguarda le percezioni degli altri non sembra importante. Dì la verità: stanno rendendo il codice più difficile da mantenere e sviluppare.
HedgeMage,

5
@HedgeMage: La mia esperienza personale con cose come questa è che alcune persone sono ESTREMAMENTE sensibili alle cose che percepiscono come critiche a se stesse. Peggio ancora, possono esserci ripercussioni politiche davvero brutte, se la persona che sembra criticare è amata dalla direzione. (Sì, ho le cicatrici per dimostrarlo.) E ho visto organizzazioni a cui letteralmente non importava di questo genere di cose, fintanto che il codice funzionava, per una definizione di "funzionato". La mia sensazione personale è che hai maggiori possibilità di risolverlo, con altri minimi mal di testa, se vai dolcemente.
John R. Strohm,

12
@John Posso certamente vedere che una brutta situazione lavorativa può costringere qualcuno a camminare su gusci d'uovo come quello - ma è una brutta situazione se questo è un problema in primo luogo. Qualcuno con un ego così fragile (e una cultura del posto di lavoro che consenta ai suoi shenanigans) non è un buon inizio per gli affari.
HedgeMage,

6
I programmatori più maturi accettano bene le critiche. Dopotutto, ecco a cosa servono le peer review (e tutti noi facciamo revisioni del codice, no?) Va bene criticare l'ortografia e la grammatica di commenti, nomi di funzioni, ecc. TUTTO riflette non solo sull'autore ma su tutta la loro organizzazione.
quick_now

6
Devo essere d'accordo con HedgeMage qui, se non riesci a segnalare errori come questo durante una revisione del codice (in particolare quando sono obiettivamente sbagliati, come nell'esempio nella domanda), hai problemi più grandi ...
Dean Harding

10

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 decida 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 aggiusto semplicemente. A volte non riesco nemmeno a resistere alla tentazione di correggere un errore di battitura in un commento, ma sono solo io :)


5
E poi scopri che hai appena infranto il codice di un terzo ragazzo. Devi sistemare queste cose al più presto, non solo quando riesci ad accedervi dopo che il primo ragazzo ha controllato tutto.
David Thornley,

Se sei preoccupato che una correzione a qualsiasi codice possa rompere il codice di "qualcun altro" e non hai modo di dirlo, allora hai problemi più grandi dell'ortografia.
Cornel Masson,

@CornelMasson: Non proprio. Questa è una parte fondamentale della progettazione di un'API.
Razze di leggerezza in orbita

6

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 di una cartella. Forse anche si può fare con sed? Non lo so.

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


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


10
E non vogliamo mai più vedere quel genere di cose.
David Thornley,

4

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.

11
"Forse era solo una copia-incolla da un sito Web." Quindi la persona che lo ha copiato avrebbe dovuto rilevare il problema e risolverlo. Copiarlo alla lettera e lasciare errori è tanto peggio o peggio che scriverlo da soli e creare gli errori. "Conosco diverse persone che si sentono davvero ferite se dici loro degli errori grammaticali che fanno." Nel mondo degli affari dovremmo comportarci tutti come adulti e colleghi che si stanno unendo per raggiungere un obiettivo comune. La persona che solleva il problema deve usare il tatto e la persona che riceve le critiche deve accettarlo e crescere da esso.
Tin Man il

3
Sono d'accordo al 100% che come professionisti, dovremmo comportarci da adulti e non prenderlo sul personale. Ma deve assolutamente essere sottolineato e corretto. Sì, il tatto dovrebbe essere usato e dovrebbe essere affrontato secondo necessità, a seconda dell'individuo. Ma se ti trovi in ​​un ambiente in cui è incoraggiato a evitare del tutto il problema, forse è tempo di partire. Ciò indicherebbe un ambiente avvelenato.
Mark Freedman,

Qualsiasi errore di ortografia può essere verificato con una semplice ricerca su Google
JoelFan,

2

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


0

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 userHasPermission e sposterei la "grammatica" nel tuo codice, in questo modo:

if userHasPermission() ...

1
C'è comunque lo stesso potenziale per errori grammaticali, poiché in questo caso userHavePermission()sarebbe sbagliato.
Dean Harding,

Ma questo è esattamente il punto !! userHasPermission()implica che restituisce un bool a causa della grammatica ~ O ~ potrebbe significare che imposta il permesso dell'utente. (L'agente ha il bridge :: l'utente ha l'autorizzazione). È ancora vago.
Stephen Furlani,

Mentre sono d'accordo sul fatto che i nomi di esempio nella Q siano inutilmente lunghi, avverto della generalizzazione "troppo lunga". In questo caso, il concetto può essere espresso in meno parole, quindi dovrebbe essere più breve. Tuttavia, cos'è "troppo lungo"? C'è un limite di caratteri o parole?
LS

0

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ì frequentemente e da così tanti membri del team che avrebbero potuto scrivere il codice anche prima di unirmi al progetto, tendo a ignorarlo, perché 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

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.


2
-1 per vaghezza - Non ho idea di cosa stai avvisando l'interrogatore.
HedgeMage,

@HedgeMage, sto consigliando al PO di applicare en.wikipedia.org/wiki/The_Golden_Rule
kevpie il

2
Ne ho familiarità. Oltre ad essere palesemente sciocco (non c'è motivo di credere che il modo in cui Alice vuole essere trattata sia il modo in cui Bob vuole essere trattato), distrae dal vero problema: creare un buon codice. Certo, non sarò un idiota a riguardo, ma non sto basando se sollevare un problema tecnico sul fatto che la persona che scrive un codice errato voglia o meno sollevarlo!
HedgeMage,

Penso che il reclamo di @ HedgeMage possa essere illustrato in questo modo: voglio che il codice sia la massima qualità consentita dal tempo e dalle risorse disponibili, perché mi preoccupo del progetto e del mio futuro lavoro su di esso. Bob vuole evitare le critiche per errori correggibili, perché non prende bene le critiche. Attueremo la "regola d'oro" in modo abbastanza diverso.
mancanza di palpebre

Il consiglio indica che l'OP opera come vorrebbe essere trattato. Non trattare Bob come Bob vorrebbe essere trattato. Stavo incoraggiando l'OP a correggere Bob poiché lui (l'OP) avrebbe voluto essere corretto per gli stessi errori, in particolare nel contesto che l'OP ha condiviso.
Kevin il

0

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.


3
Molti degli errori più importanti non possono essere individuati automaticamente. Questo vale anche per l'ortografia e la grammatica. È possibile effettuare un controllo automatico, ma i risultati dovrebbero essere equivalenti agli avvisi. Questo perché i correttori ortografici producono sia falsi positivi (ad esempio nomi propri) sia falsi negativi (anche due a). Quindi è necessario un intervento manuale.
Matthew Flaschen,

Questo tipo di automazione non risolve questi problemi, coglie solo alcuni degli errori che le persone commettono.
Ha superato il

Correzione automatica ??? Ci sono molti esempi di "errori" di correzione automatica su Internet. Questo sicuramente non va bene.
Florian F,

0

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 è un modello, 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.


-1

userPermission () forse? -

L'ultimo che ho riscontrato è stato un problema globale di risultati di ricerca non evidenziati perché il nome della classe era scritto in modo chiaro. Bug molto oscuro da individuare.


Il downvoting senza commentare è un abominio.
mplungjan,

-1

Ricordalo, ma non perdere tempo a controllare gli errori di ortografia. Utilizzare uno strumento per automatizzare questo sul CI. Su .net fxCop puoi farlo ...


-2

Dipende in gran parte da quali sono gli errori, da quanto sono comuni e da quanto sono cattivi, e se si tratta in realtà di un errore in buona fede o semplicemente di come lo diresti.

Personalmente non lo sopporto quando un idiota trascina una revisione del codice di 5 minuti alla mezz'ora perché vuole che tutto rinominato come lo farebbe e tutti i commenti riformulati solo perché gli piace attaccare il suo remo. Una riga di registrazione che dice "Il caricamento di oggetti dati" non deve essere modificato in "Il componente Caricatore oggetti dati caricherà ora gli oggetti dati rilevanti dal componente di archiviazione oggetti dati".

/ rant :)


2
Insistere sulle cose a modo mio è una cosa. Insistere sul fatto che le cose usano l'ortografia e la grammatica corrette è un'altra cosa.
David Thornley,

Non sono del tutto sicuro del perché la mia risposta meriti un voto negativo, ma non importa ... Inoltre, dove è andata la mia risposta al commento di David? Comunque, la grammatica inglese corretta al 100% non è sempre desiderabile nello sviluppo. Nel mio esempio precedente, "Caricamento di oggetti dati" non è una frase completa, ma è la formulazione più preferibile dei due: concisa, facile da localizzare e non occupa molto spazio.
JohnL
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.