È interessante notare che la leggibilità applicata al linguaggio naturale è misurata dalla velocità di lettura e comprensione. Immagino che una semplice regola 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, esistono diversi modi nei linguaggi di programmazione di fascia alta per evitare la superflua programmazione "sovra-documentata" (di codice significativo) utilizzando elementi del linguaggio stesso. È anche una cattiva idea trasformare il codice in elenchi dal libro di testo di programmazione, in cui le singole dichiarazioni sono letteralmente spiegate in modo quasi tautologico (tenere presente l'esempio "/ * incremento i di 1 * /" nelle risposte già fornite), rendendo pertinenti tali commenti solo ai programmatori inesperti con la lingua.
Nondimeno, è intenzione di provare a commentare il codice "sotto documentato" (ma insignificante) che è veramente "la fonte di tutti i mali". L'esistenza stessa di codice "sotto documentato" è un segnale negativo - o è un disastro non strutturato, o un bizzarro hack di mistico scopo perduto. Ovviamente, il valore di tale codice è almeno discutibile. Sfortunatamente ci sono sempre esempi, quando è davvero meglio introdurre un commento in una sezione di righe di codice formattate (raggruppate visivamente) piuttosto che avvolgerlo in una nuova subroutine (attenzione alla "consistenza insensata" che "è il folletto delle piccole menti") .
Leggibilità del codice! = Commenti sul codice
Il codice leggibile non richiede annotazioni per commenti. In ogni particolare posizione nel codice c'è sempre un contesto di un'attività che questo particolare codice dovrebbe raggiungere. Se manca lo scopo e / o il codice fa qualcosa di misterioso = evitarlo a tutti i costi. Non consentire a strani hack di popolare il tuo codice: è il risultato diretto della combinazione di tecnologie difettose con mancanza di tempo / interesse per comprendere le basi. Evita il codice mistico nel tuo progetto!
D'altro canto, il programma Readable = codice + documentazione può contenere più sezioni legittime di commenti, ad esempio per facilitare la generazione di documentazione "commenti all'API".
Seguire gli standard di stile del codice
Abbastanza divertente la domanda non riguarda il motivo per cui commentare il codice, si tratta del lavoro di gruppo - come produrre codice in stile altamente sincronizzato (che tutti gli altri possono leggere / comprendere). Stai seguendo standard di stile di codice nella tua azienda? Il suo scopo principale è quello di evitare di scrivere codice che richiede refactoring, è troppo "personale" e "soggettivamente" ambiguo. Quindi immagino che se si vede la necessità di usare lo stile del codice, ci sono molti seri strumenti per implementarlo correttamente - a cominciare dall'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 evangelista della leggibilità del codice
Se si accetta che il codice viene letto più spesso di quanto non sia scritto. Se una chiara espressione di idee e pensieri è chiaramente importante per te, indipendentemente dalla lingua utilizzata per comunicare (matematica, codice macchina o inglese antico) .. Se la tua missione è sradicare il modo noioso e brutto di pensare in modo alternativo .. (scusate , l'ultimo viene da un altro "manifest") .. fai domande, avvia discussioni, inizia a diffondere libri stimolanti sulla pulizia del codice (probabilmente non solo qualcosa di simile ai modelli di design di Beck, ma più simile a quello già menzionato da RC Martin ) che affronta l'ambiguità in programmazione. Segue un passaggio puntuale di idee chiave (citato dal libro di O'Reilly sulla leggibilità)
- Semplifica la denominazione, i commenti e la formattazione con suggerimenti che si applicano a ogni riga di codice
- Affina i cicli, la logica e le variabili del tuo programma per ridurre la complessità e la confusione
- Attacca i problemi a livello di funzione, come riorganizzare blocchi di codice per eseguire un'attività alla volta
- Scrivi un codice di prova efficace che sia accurato e conciso, oltre che leggibile
Eliminando i "commenti", ne rimane ancora molto (immagino che scrivere codice che non abbia bisogno di commenti sia un ottimo esercizio!). La denominazione di identificatori semanticamente significativi è un buon inizio. Successivamente, strutturando il codice raggruppando le operazioni connesse logicamente in funzioni e classi. E così via. Un programmatore migliore è uno scrittore migliore (ovviamente, assumendo altre abilità tecniche fornite).