Я опишу набор простых правил, как организовать ваши функции и как улучшить качество вашего кода и код-ревью. Пожалуйста, продолжайте читать!
Код должен быть последовательным
Подход к группировке кода в функции должен быть последовательным, стиль кода и наименование должны быть одинаковыми во всем коде. Если это правило не соблюдается, значит, что-то не так с кодом.
Функции должны соответствовать рекомендациям по именованию
Имя функции должно отражать, что делает функция, с какими аргументами и, если возможно, какой результат она возвращает. Подробнее о нейминге вы можете прочитать здесь.
Функции должны выполнять одно действие
Это интерпретация или принцип единой ответственности. Функция должна выполнять только одно логическое действие. Если функция делает больше одной — ее следует разбить на несколько функций.
Функция должна на самом деле делать то, что написано в объявлении
Это может показаться очевидным, но я встречал много ситуаций, когда функция выполняет другие действия, а не объявлена.
Рекомендации по группировке параметров
Параметры, передаваемые в функцию, также должны быть согласованы: логически они должны относиться к одной и той же группе элементов. Количество функций, как правило, не должно быть больше 5–6, но часто встречаются исключения.
Если параметров из 1 логической группы много, то, скорее всего, их следует нащупать в одну единую структуру или класс и функция должна принимать этот класс в качестве параметра.
Размер функций
Существует множество рекомендаций, какими должны быть большие функции. Я не думаю, что для этого есть серебряная пуля. Но, с другой стороны, функции не должны быть большими и/или чрезмерно сложными. Эвристическое правило заключается в том, что функция должна быть видна на одном экране или меньше. Часто статические анализаторы кода выдают предупреждения о длине функций, просто старайтесь следовать этим правилам.
Уровень видимости
Функции должны иметь минимальный уровень видимости: если достаточно приватной, то не нужно делать эту функцию публичной или защищенной. Будьте осторожны с видимостью уровня по умолчанию для вашего языка, объявляйте уровень явно, если это необходимо.
Вывод
Функции — чрезвычайно важные единицы программирования, поэтому мы должны обратить на это внимание. В рассказе я описал довольно простой набор правил, и если вы начнете их применять, качество вашего собственного кода и ваших обзоров кода повысится очень быстро.
Спасибо, 👏 !