Sono un sostenitore del commento sul codice sorgente e della documentazione dei prodotti software. È la mia esperienza personale e l'osservazione che lavorare sul codice sorgente che è rigorosamente commentato mi ha aiutato in diversi modi quando ho dovuto sviluppare software o mantenerlo.
Tuttavia c'è un altro campo che dice che commentare è in definitiva inutile o il suo valore è discutibile. Numerosi sostenitori della codifica senza commentare sostengono che:
- Se un pezzo di codice è ben scritto, è autoesplicativo e quindi non necessita di commenti
- Se un pezzo di codice non è autoesplicativo, quindi riformattalo e rendilo autoesplicativo in modo che non abbia bisogno di commenti
- La tua suite di test è la tua documentazione live
- Col passare del tempo il codice e i commenti si sincronizzano e diventa un'altra fonte di mal di testa
- Agile afferma che il codice di lavoro è più importante delle pile di documentazione, quindi possiamo tranquillamente ignorare la scrittura di commenti
Per me questo è solo dogma. Ancora una volta, la mia osservazione personale è stata che il software scritto da team di sviluppatori intelligenti ed esperti alla fine finisce con una notevole quantità di codice che non si spiega da sé.
Ancora una volta, l'API Java, l'API Cocoa, l'API Android, ecc. Mostrano che se si desidera scrivere e conservare documentazione di qualità, è possibile.
Detto questo, le conversazioni sui pro e contro della documentazione e sui commenti sul codice sorgente basati su convinzioni personali di solito non finiscono bene e non portano a conclusioni soddisfacenti.
In quanto tale, sto cercando documenti accademici e studi empirici sugli effetti della documentazione del software, in particolare commentando il codice sorgente, sulla sua qualità e manutenibilità, nonché i suoi effetti sulla produttività del team.
Ti sei imbattuto in tali articoli e qual è stato il loro esito, se ce ne sono stati?