Найти тему

Комментарии против функций

Оглавление

Едва ты врубился в программирование, код разрастается и ты начинаешь в нем путаться. На помощь приходят комментарии и функции. Разберемся когда что лучше

Грядет серьезная битва
Грядет серьезная битва

Что это вообще такое

Сперва твой код выглядит как "сплошной текст" - просто куча строк внутри главной функции. Потом ты добавляешь пустых строк, и он становится читаемее (вариант "текст, разделенный Enter-ами). Ну а когда код еще более разрастается, кто-то добавляет комментарии, кто-то создает кучу функций.

Разделение кода
Разделение кода

Когда что выбрать

Все советы основаны на личном опыте. И это именно советы, а не законы, ГОСТы и прочее

1) Если код состоит из 20-30 строк, просто поставь лишний Enter

Это поможет визуально разделить текст. Если не помогает, можно добавить пару комментариев или создать 1-2 функции. В любом случае даже туповатый программист, открыв твой код, разберется в нем минут за 10 (что там читать-то).

2) Если внутри маленькой функции ты 2-3 минуты не можешь найти нужную строку, добавь комментарий

Внутри функции "рисовать человечка" и рисование руки, и рисование ноги будет выглядеть как "линия (100, 100, 200, 320)". Без комментариев ты в жизни не разберешься, где что.

P.S. Маленькая - это те самые 20-30 строк.

3) Если внутри большой функции ты 2-3 минуты не можешь найти нужную строку, создай новую функцию

Функция проверки успешности платежа может и занимает строк 60 (что не много, и не мало), но в ней легко запутаться. И в ней нереально запутаться, если преобразовать функцию к виду

checkConnection();
sendPaymentDetails();
$result = getResult();

P.S. Да и вообще ничто не мешает хоть каждые 5 связанных строки кода обзывать функцией

4) Если функций настолько много, что не можешь вспомнить название нужной, раздели функции по библиотекам или создай справочный файл

И да, братан, автор слишком туп в сравнении с твоим уровнем развития, продолжение читай в более крутых программистских каналах:)

5) Функция в 1000 строк - бред

У каждого свой болевой порог. Крутой программист будет ориентироваться в функции в 500 строк, я выдерживаю где-то 200. Первое время ты будешь выдерживать не больше сотни. Как только длина функции дорастает до опасных размеров, дроби ее на несколько функций поменьше.

6) 20 комментариев в одной функции - тоже бред

Опять же, создавай новые функции. При поиске ты вряд ли вспомнишь полный текст 12 комментария.

7) Если ты увидел текст комментария (4eloveg вместо человек) и удивлен его тексту, создавай функцию

Мало кто пишет список всех комментариев в каком-то отдельном месте программы. А вот список всех функций частенько хранится отдельно (те же .h файлы в C++), т.е. найти нужную функцию проще, чем нужный коммент

8) Если фрагмент кода используется хотя бы в 2-3 местах программы и состоит из 3 строк, сделай это функцией

И когда 3 строки должны будут превратиться в 15 (какие-нибудь проверки доступа пользователя) поверь, оно окупится.

9) Если комментарий очевиден, убери его

Комментировать вызов функции drawHouse() словами "рисование дома" - такое себе

10) Если функция состоит из 1-2 строк и гарантированно будет использоваться не более чем в 1 месте программы, удали ее.

Псевдонимы - не самая удобная штука. Долго баг искать будешь, который в функции bar

void foo() {
bar();
}

Так что вот. Enter лучше чем ничего. Комментарий лучше Enter-а. Функция лучше комментария. А канал "ПрПр" лучше функции:)