Backend-разработчик Инфомаксимум о том, почему не любит комментарии в коде и всегда выступает против них.
Спор насчет комментариев в коде — вечен. Уверен, что к единой точке зрения никто никогда не придет, уж слишком принципиальный вопрос. Я поддерживаю большинство и выступаю против комментариев.
Очень сильно вкратце:
- старые и уже неактуальные пометки — это хлам и дезинформация;
- бессодержательные и ненужные комментарии загромождают модуль;
- /*ничего не понял, даже не дочитал*/ — это тлен и плохо;
- чем меньше комментариев, тем лучше
Да. Уместные комментарии полезны и дают для разработчика нужную информацию, порой помогают понять ход его мыслей и выбор подхода или важная ссылка.
Пишешь код красиво и емко — все тебя понимают без дополнительных ремарок и комментариев. Пишешь плохо, запинаешься, перескакиваешь с одного на другое — вопросов, непониманий и прочей красоты не избежать. Так что если специалист грамотный, опытный и способный выражать свои мысли кодом, то язык программирования для него — не только рабочий, но и вербальный инструмент. Для меня комментарий — показатель неспособности внятно прописать те или иные действия при помощи кода и объяснить их.
Насчет хлама. Чем «старше» комментарий, тем дальше он расположен от той части кода, которую описывает, соответственно, тем выше вероятность, что просто неверный. Что-то могло измениться, появились дополнения и т.д. Код — не монолитная фактура, и не всегда текстовая пометка сопровождает изменения, не превращаясь в ненужную ерунду. Программисты попросту не следят за этим, забывают (или забивают). И в данном случае старый и уже ставший неточным комментарий становится вредным и пусть ненамеренно, но вводит разработчика в заблуждение и сбивают с толку. Специалист получает заведомо неправильную информацию, интерпретирует ее и... дальше пилит как? Неправильно! Работая с устаревшими правилами. Класс.
Скрывается низкое качество кода. Ситуация: при написании модуля разработчик видит, что код получился, скажем, корявый. И, адекватно оценивая работу, понимает, что вряд ли кто поймет его логику. И тут его посещает гениальная мысль: «Пишем код!». О — ошибка. Не надо так. Километр кода с миллиардом комментариев будет восприниматься в разы сложнее, нежели ясный код с минимумом пометок. Поэтому время, которое вы хотите потратить на сочинение пояснений, лучше использовать на исправление собственных косяков. Читать чей-то полет мыслей в комментах (по факту — просто оправдания) долго, скучно, малоприятно и бесполезно.