Risposta breve, migliore e corretta
L'idea che il "codice auto-documentato" ben scritto sia tutto ciò che serve è un anti-pattern e dovrebbe morire, anche quando fa eccezioni per i commenti che spiegano "perché". È un mito che tu possa sempre scrivere tutto il codice per qualsiasi algoritmo abbastanza chiaro da permettere a qualsiasi programmatore di guardarlo e ottenerlo (o che non richiederà il refactoring o il tempo organizzativo che non hai). Ancora più importante, il più delle volte, i programmatori che pensano scrivono codice chiaro no.
Una risposta molto migliore di commenti dovrebbe essere usata solo per spiegare "perché" è che i commenti dovrebbero:
- spiega "perché" (ovviamente)
- spiega "cosa" su singole righe solo quando il codice è complesso o lo scopo non è chiaro e non può essere o non vale la pena di semplificare ulteriormente
- spiega "cosa" per blocchi di codice per accelerare la comprensione e individuare ciò di cui hai bisogno
La spiegazione per eseguirne il backup
La gente pensa erroneamente che l'unica ragione per cui le persone usano i commenti è spiegare cosa significa una riga di codice. La verità è un grande scopo di commentare il codice è quello di renderlo più veloce per dare un'occhiata al tuo codice e trovare quello che stai cercando. Quando torno a leggere più tardi o leggo il codice di qualcun altro, certo, posso leggere e capire una sezione di codice ben scritto - ma non è più facile e veloce leggere il commento in alto che dice cosa fa quella sezione di codice e saltalo del tutto se non è quello che sto cercando? Perché starsene lì seduto e capire del codice, anche se è ben scritto, se puoi dare un'occhiata a un paio di commenti e capire un'intera funzione? Ecco perché utilizziamo nomi descrittivi per le funzioni - nessuno dice che non è necessario utilizzare un nome descrittivo per la mia funzione perché qualcuno può semplicemente guardare attraverso il mio codice scritto per vedere cosa fa.
Ad esempio, se guardo attraverso la funzione di qualcun altro, è più facile andare riga per riga attraverso il codice per vedere cosa sta facendo o dare un'occhiata a tre commenti ben scritti in tutta la funzione per vedere esattamente qual è la funzione fare e dove lo sta facendo?
Un altro anti-pattern è l'uso eccessivo di funzioni per commentare il tuo codice. Le funzioni ben definite sono una parte importante della documentazione del codice, ma a volte i programmatori separano 2-3 righe di codice che non verranno mai utilizzate da nessun'altra parte in una funzione a scopo di documentazione. Perché l'uso eccessivo delle funzioni è migliore di un uso eccessivo dei commenti? L'utilizzo di funzioni del genere equivale a includere le istruzioni GOTO: crea codice spaghetti che può essere difficile da seguire.
Essenzialmente, quando lavori in un ambiente aziendale, in cui le persone condividono costantemente il codice e le persone non hanno sempre il tempo di perfezionare il codice, alcuni buoni commenti possono risparmiare un sacco di tempo e frustrazione. E ricorda, anche se potresti essere un guru che può leggere il codice alla velocità della luce, probabilmente non tutti nel tuo ufficio lo sono.