14 октября 2011 г.

Комментарии излишни

Нас учат, что нужно снабжать свой код комментариями, мол, с кодом гораздо проще работать, если он хорошо комментирован. Ничего подобного. Код должен быть понятен и легко читаем и безо всяких комментариев.
Банальные комментарии
// Увеличиваем счетчик.
Inc(FCount);
только замусоривают код.
От менее банальных комментариев
// Увеличиваем счетчик.
Inc(a);
избавляемся рефакторингом: переименовываем идентификаторы, упрощаем уловия, выделяем методы и т.д. Комментарий нужен тогда, когда он действительно нужен. Причем писать его нужно так, чтобы он был понятен постороннему, а не только вам.
// Не убирать!!!
Inc(FCount);
Поверьте, если вам не повезло, и у вас нет абсолютной памяти, через очень непродолжительное время вы не сможете вспомнить, что же вы имели в виду, оставляя такой идиотский комментарий. И вам придётся разбираться в коде. В своём коде!
// Увеличиваем счетчик,
// так как произошло неявное увеличение числа элементов.
Inc(FCount);
Но, повторяю, необходимость такого комментария свидетельствует о том, что код требуется переработать.
Не стоит также оставлять автографов в случае коллективной работы над проектом. Для исследования хронологии и авторства изменений кода есть куда-лучшие средства.
// Добавил КулХацка.
Inc(FCount);

Отдельно хотелось бы отметить комментирование кода вместо удаления.
// Закомментировано, это не требуется.
// Inc(FCount);
Согласен, рука с трудом поднимается на результаты собственных усилий. Душу терзает мысль, что код наверняка пригодится, зачем же его удалять, достаточно будет раскомментировать. Уверяю: не пригодится. Такой подход только замусоривает код. Отвлекает и мешает. Запустите поиск — он найдет искомое в закомментированном участке. Начнете читать метод, а в нём вместо пяти рабочих строчек все сорок-пятьдесят, большая часть из которых закомментированы (доводилось видеть и такое).
То же самое относится и к хорошему, но не используемому коду. Обнаружился модуль, класс, метод, который в данный момент никак не используется — в корзину.
Не стесняйтесь. Надо убрать код — удаляйте. Система контроля версий (вы ведь ею пользуетесь?) сохранит всё гораздо лучше вас.

Комментариев нет:

Отправить комментарий