Print
Category: Все материалы
Hits: 2192

User Rating: 0 / 5

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
 

Всю жизнь мне все говорили, что надо комментировать свой код. В школе на уроках информатики, в институте, потом на работе. Мне говорили, что другому человеку будет сложно разобраться в моем коде, что нужно в комментарии писать пояснения что, зачем и как я делаю, для чего нужна та или иная переменная. В школе и институте преподавателю будет проще проверять решенную мной задачу, на работе коллегам будет проще со мной работать в команде над одной задачей, да и самому возвращаясь в свой модуль спустя полгода с ходу и не вспомнить, что я тут делал и зачем все это написал. Правило, что в коде надо писать комментарии было для меня аксиомой, непреклонной истиной. Чем больше комментариев, тем лучше. Все люди, окружавшие меня в программировании, внушали мне этот постулат. И я им верил долгие годы…

 

  



Но, оказалось, что это не аксиома и не заповедь из библии программиста, что есть иное мнение на этот счет. Мало того, уважаемые люди, я бы даже сказал гуру своего дела, считают, что комментарии в коде лишние, что они несут больше вреда, чем пользы.

Узнал я об этой точке зрения, прочтя умную книжку по программированию. Прочел, подумал… и согласился с автором. Основной посыл автора таков: язык программирования самодостаточен, выражать свои намеренья надо на нем, а не пытаться примесить в код свой родной язык. Если код, написанный на языке программирования, непонятен, нечитабелен и требует пояснения, не пишите рядом слова и фразы на другом языке (английском или русском). Попробуйте переписать код, чтобы у читающего его человека не возникло бы никаких вопросов. Вместо комментария достаточно давать ясные и понятные имена переменным и функциям, не писать слишком длинные функции, которые не помещаются на одном экране, короче писать красивый и чистый код. Собственно книжка так и называлась «чистый код».

Цитата:

 "...

Грамотное применение комментариев должно компенсировать нашу неудачу в выражении своих мыслей в коде. Обратите внимание на слово "неудачу". Я абсолютно серьёзно. Комментарий - всегда признак неудачи. Мы вынуждены использовать комментарии, потому что нам не всегда удается выразить свои мысли без них, однако гордиться здесь нечем.

Итак, вы оказались в ситуации, в которой необходимо написать комментарий? Хорошенько подумайте, нельзя ли пойти по другому пути и выразить свои намерения в коде. Каждый раз, когда вам удается это сделать, - похлопайте себя  по плечу. Каждый раз, когда вы пишите комментарий, - поморщитесь и ощутите свою неудачу.

Почему я так настроен против комментариев? Потому что они лгут. Не всегда и не преднамеренно, но это происходит слишком часто. Чем древнее комментарий, чем дальше он расположен от описываемого им кода, тем больше вероятность того, что он просто неверен. Причина проста: программисты не могут нормально сопровождать комментарии.

Программный код изменяется и эволюционирует. Его фрагменты перемещаются из одного места в другое, раздваиваются, размножаются и сливаются. К сожалению, комментарии не всегда сопровождают их - и не всегда могут сопровождать их. Слишком часто комментарии отделяются от описываемого ими кода и превращаются в пометки непонятной принадлежности, с постоянно снижающейся точностью.

..."