"comments tend to become outdated."
Ho visto questo accadere abbastanza spesso da sapere che questo può essere un problema.
The thing is, I think I have seen
maybe two or three outdated comments
my entire career.
Credo che sia perfettamente possibile lavorare in un ambiente in cui tutti si prendono abbastanza cura dei commenti e li mantengono. È solo un piccolo sforzo in più per guardare i commenti vicino al codice che stai modificando e aggiornarli quando opportuno. Nel caso in cui i commenti siano così lontani da non essere immediatamente notati, erano comunque commenti negativi e non avrebbero dovuto essere aggiunti in primo luogo (o almeno non lì).
Inoltre di solito insieme alla dichiarazione che i commenti tendono a diventare obsoleti, segue la dichiarazione che ciò riduce la leggibilità e confonde le persone. Questo è qualcosa che non ho ancora sperimentato. Ogni volta che incontro un commento non aggiornato, vedo chiaramente cosa è cambiato e aggiorno il commento di conseguenza per rappresentare il codice più recente, anche se con qualche sforzo in più.
Uno studio recente di Roehm et al. 2012 osserva quanto segue:
21 participants [out of 28] reported that they get their main
information from source code and inline comments whereas only four
stated that documentation is their main source of information.
Questo è in linea con il tuo sospetto che i commenti nel codice stesso siano ancora considerati molto utili. Ciò indica che deve essere tracciata una linea chiara tra la documentazione obsoleta e i commenti obsoleti .
Roehm, T., Tiarks, R., Koschke, R., & Maalej, W. (2012, giugno). In che modo gli sviluppatori professionisti comprendono il software? In Atti della Conferenza internazionale del 2012 sull'ingegneria del software (pagine 255 -265). IEEE Press.