È interessante notare che la leggibilità applicata al linguaggio naturale è misurata dalla velocità di lettura e comprensione. Immagino che una regola semplice possa essere effettivamente adottata, se un particolare commento di codice non migliora questa proprietà, può essere evitato .
Perché commenti?
Sebbene il commento al codice sia una forma di documentazione incorporata, ci sono molti modi nei linguaggi di programmazione di fascia alta per evitare la superflua programmazione "eccessivamente documentata" (di codice significativo) usando elementi del linguaggio stesso. È anche una cattiva idea trasformare il codice in elenchi da un libro di testo di programmazione, in cui le singole affermazioni sono letteralmente spiegate in modo quasi tautologico (attenzione all'esempio "/ * incremento di 1 * /" nelle risposte già fornite), rendendo tali commenti pertinenti solo per programmatori inesperti con la lingua.
Ciononostante, è l'intenzione di provare a commentare il codice "poco documentato" (ma privo di significato) che è veramente "la fonte di ogni male". L'esistenza stessa del codice "sotto-documentato" è un cattivo segnale - o è un disordine non strutturato, o un hack bizzarro di mistico scopo perso. Ovviamente, il valore di tale codice è discutibile almeno. Sfortunatamente ci sono sempre degli esempi, quando è davvero meglio introdurre un commento in una sezione di righe di codice (visivamente raggruppate) piuttosto che avvolgerle in una nuova subroutine (attenzione alla "consistenza folle" che "è l'hobgoblin delle piccole menti") .
Leggibilità del codice! = commenti del codice
Il codice leggibile non richiede annotazioni per commenti. In ogni posto particolare nel codice c'è sempre un contesto di un compito che questo particolare codice dovrebbe raggiungere. Se manca lo scopo e / o il codice fa qualcosa di misterioso = evitalo a tutti i costi. Non consentire agli hacker strani di popolare il tuo codice: è un risultato diretto della combinazione di tecnologie buggy con mancanza di tempo / interesse per comprendere le basi. Evita il codice mistico nel tuo progetto!
D'altra parte, Programma leggibile = codice + documentazione può contenere più sezioni legittime di commenti, ad es. per facilitare la generazione della documentazione "commenti su API".
Segui gli standard di stile del codice
È abbastanza divertente che la domanda non riguardi il perché commentare il codice, ma il lavoro di squadra - come produrre codice in stile altamente sincronizzato (che chiunque altro può leggere / comprendere). Stai seguendo gli standard di stile del codice nella tua azienda? Lo scopo principale è evitare di scrivere codice che richiede il refactoring, è troppo "personale" e "soggettivamente" ambiguo. Quindi, immagino, se si vede la necessità di usare lo stile del codice, c'è un serio insieme di strumenti su come implementarlo correttamente - iniziando con l'educazione delle persone e finendo con l'automazione per il controllo di qualità del codice (numerosi lint, ecc.) E (revisione controllo integrato) sistemi di revisione del codice.
Diventa un evangelizzatore della leggibilità del codice
Se accetti che il codice viene letto più spesso di quanto non sia scritto. Se la chiara espressione di idee e pensieri è chiaramente importante per te, indipendentemente dalla lingua utilizzata per comunicare (matematica, codice macchina o vecchio-inglese) .. Se la tua missione è quella di sradicare il modo noioso e brutto del pensiero alternativo .. (scusate , l'ultimo proviene da un altro "manifest") .. porre domande, avviare discussioni, iniziare a diffondere pensieri che provocano libri sulla pulizia del codice (probabilmente non solo qualcosa di simile ai modelli di progettazione di Beck, ma più come già accennato di RC Martin ) che affrontano l'ambiguità nella programmazione. Più avanti un passaggio puntato di idee chiave (citato dal libro di O'Reilly sulla leggibilità)
- Semplifica la denominazione, i commenti e la formattazione con i suggerimenti applicabili
ogni riga di codice
- Perfeziona loop, logica e variabili del tuo programma per ridurre complessità e confusione
- Problemi di attacco a livello di funzione, come riorganizzare blocchi di codice per eseguire un'attività alla volta
- Scrivi un codice di test efficace, completo e conciso, oltre che leggibile
Tagliando "commentando", ne rimane ancora uno (suppongo che scrivere codice che non ha bisogno di commenti sia un ottimo esercizio!). La denominazione di identificatori semanticamente significativi è un buon inizio. Quindi, strutturando il codice raggruppando le operazioni logicamente connesse in funzioni e classi. E così via. Un programmatore migliore è uno scrittore migliore (ovviamente, supponendo che vengano fornite altre competenze tecniche).