Про комментарии в коде

Случилась однажды со мной такая история, которая навсегда укрепила мою уверенность в том, что комментарии в коде это не просто дань правильности и стандартам, а жизненно-важная необходимость.

А было это на заре моей карьеры аналитика. Вот буквально недавно писал про начало карьеры, как оптимизировал работу отдела аналитики.

Прилетела мне задача от руководителя отдела: необходимо разработать программу, которая бы формировала документ для склада. В документе должны быть: артикул, склад поставки, количество штук для этого склада. Т.е. надо сначала подбить и посчитать динамику по товарам и складам, а также остатки по этим складам, да еще и взять остатки на нашем складе. Плюс к этому нужно, чтобы программа сформировала список товаров и их количества по коробам, чтоб сэкономить время склада, да и нам понимать, сколько коробов и куда мы везем. Вроде бы всё просто. Но вот чтоб да, так нет. Задача была для Озона, а у них в 2022 году (не знаю, как сейчас, не работаю там давно) были такие лабиринты в документах и отчетах, что было очень сложно что-то найти и обработать по-человечески. И вот я взялся за работу со всей основательностью, не спал ночами, кодил до упаду. И все таки накодил. Времени дано было всего ничего, поэтому получилось кривовато. Но, как оно бывает, я был твердо уверен, что вот разгребу текущие задачи и сразу же всё подредактирую как надо. Ага, конечно. Забыл я про это дело, работает ведь. И никто не жаловался, все были довольны.

Но вот прошло буквально 1,5 месяца, и ко мне прибегает руководитель отдела с вытаращенными от ужаса глазами и кричит на меня: "Всё поломалось, ничего не работает, понадеялись на программу, а она вот так, не хочет... А нам складу отправлять, а времени руками всё считать и формировать нету, и всё, нам конец!" Паникой делу не поможешь, и я взялся вспоминать, что там я такое накодил, и что же могло сломаться.

Правду говорят, что твой код через несколько месяцев, это совершенно чужой код. Открыл я это полотнище, и обомлел от ужаса: куча процедур, функций, конкатенаций, циклов, всяких "Если - То - Иначе - То", а комментариев нет... Страшное дело, правда. Руководство нервничает, работники склада звонят и тоже нервничают, я нервничаю, просто дичь творится. Воздух вокруг меня будто плавился. Я лихорадочно ищу, что же там могло пойти не так.

В общем, не буду вдаваться в подробности, но в результате оказалось, что Озон поменял название одного из столбцов одного из многочисленных отчетов, которые в этой программе сводились друг с другом. И всё, программа легла... А работать хорошо с индексами я тогда еще не умел.

Так вот, если б я писал комментарии к своему коду, объяснял бы что и как там делается, то всё это можно было найти за секунды. Но нет же, куда там.

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

Про комментарии в коде | Сетка — социальная сеть от hh.ru