Я часто слышу два противоположных мнения:
- Комментарии обязательны для кода. Необходимо подробно документировать что и как работает в исходниках, чтобы можно было легко и просто все понять.
- Хорошо написанный код не требует наличия комментариев – то есть он является самодокументируемым, а комменты только загрязняют исходники и усложняют чтение.
Давай же разберёмся, какие есть доводы за и против комментариев в коде.
✅ Когда нужно писать комментарии
Если ты начинающий программист – то лучше пиши комментарии. Это поможет тебе в дальнейшем проще вспоминать, что делает код, а кроме того, более правильно формулировать мысли.
И учитывая, что в начале часто возникают проблемы с именованием переменных, методов и классов, комменты действительно сделают твой код более читаемым.
Иногда приходится делать неочевидные для других вещи – использовать всевозможные хаки в коде или применять нестандартные паттерны и алгоритмы. И чтобы обосновать это для других разработчиков и для себя в будущем использование комментариев – очень даже правильное решение.
❌ Почему комментарии вредны
По своей сути комментарии просто дублируют то, что уже написано в имени переменной или метода, а следуя принципу DRY (не повторяйся), да и простой лени, зачем писать то, что и так понятно.
Комментарии имеют свойство устаревать. Изменения в коде – это очень частое явление. А вот изменение комментариев делают очень редко. И если в комменте написано одно, а код делает другое – это может принести весьма серьёзную головную боль.
Комментарии являются признаком лени программиста. Намного проще выразить свою мысль в формате 1-2 предложений, которые будут описывать переменную, чем придумать точное, емкое и короткое имя для неё. Аналогично для методов и классов.
Таким образом, полностью избавиться от комментариев в коде невозможно, да и не нужно, на самом деле. Но важно применять их только там, где они действительно нужны, полезны и не принесут вреда.
Большое спасибо за прочтение! Пожалуйста, поставь лайк и подпишись на канал, чтобы не пропустить свежие статьи. Этим ты очень поможешь развитию блога!
Также рекомендую прочитать статью Что значит быть непрограммистом?
И не забывай про мою группу ВКонтакте, Telegram и YouTube. Там еще больше интересного и полезного контента для программистов.