«комментарии имеют тенденцию устаревать».
Я видел это достаточно часто, чтобы понять, что это может быть проблемой.
Дело в том, что, думаю, я видел, может быть, два или три устаревших комментария за всю мою карьеру.
Я считаю, что должно быть вполне возможно работать в среде, где каждый достаточно заботится о комментариях и поддерживает их. Это просто небольшое дополнительное усилие, чтобы посмотреть комментарии рядом с кодом, который вы редактируете, и обновить их, когда это необходимо. Если комментарии настолько далеки, что вы сразу их не замечаете, они все равно были плохими, и их не следовало добавлять в первую очередь (или, по крайней мере, не туда).
Кроме того, обычно наряду с утверждением, что комментарии имеют тенденцию устаревать, следует утверждение, что это снижает удобочитаемость и сбивает с толку людей. Это то, что я еще не испытал. Каждый раз, когда я сталкиваюсь с устаревшим комментарием, я ясно вижу, что изменилось, и просто обновляю комментарий соответствующим образом, чтобы представить более новый код, хотя и с некоторыми дополнительными усилиями.
Недавнее исследование Roehm et al. 2012 год отмечает следующее:
21 участник [из 28] сообщил, что они получают основную информацию из исходного кода и встроенных комментариев, тогда как только четверо заявили, что документация является их основным источником информации.
Это соответствует вашему подозрению, что комментарии в самом коде, как правило, все еще считаются очень полезными. Это указывает на то, что следует провести четкую грань между устаревшей документацией и устаревшими комментариями .
Roehm, T., Tiarks, R., Koschke, R. & Maalej, W. (2012, июнь). Как профессиональные разработчики понимают программное обеспечение? В материалах Международной конференции 2012 года по разработке программного обеспечения (с. 255-265). IEEE Press.