Написание чистого, понятного и легко поддерживаемого кода – это навык, который является чрезвычайно важным для приобретения разработчиком.
В этой статье мы познакомимся с самыми важными и простыми принципами улучшения качества кода на примерах.
Любой дурак может написать код, который компьютер может понять. Хороший программист пишет код, который понятен людям.
– Мартин Фаулер
Название переменных (и не только)
Правильное, понятное название переменной – залог хорошего, понятного кода.
Хорошее название предоставляет вам больше информации о переменной, чтобы кто-то другой мог понять ее значение. Или же вы. Так как обычно уже через несколько часов / дней назначение переменной с неясным названием забывается.
Как же назвать?
Потратьте время на поиск подходящего имени переменной. Сразу хочу сказать, что не нужно оставлять комментарий возле переменной.
Название должно говорить само за себя, почему она (переменная) существует, для чего она предназначена и как используется. Если имя требует комментария, то имя не раскрывает свое предназначение.
Плохо:
const rS; // radius of the Sun
Хорошо:
const sunRadius;
Избегание "шумных" слов
"Шумные" слова – это такие слова, которые не содержат дополнительной информации. Поэтому они избыточны, бесполезны и, соответственно, должны быть удалены.
Некоторые популярные слова:
- The (префикс, например theBook)
- Info
- Data
- Variable
- Object
- Manager
Если вы назвали свой класс UserInfo, то просто уберите Info, оставив User, ведь и так понятно, что в классе User уже содержится информация о пользователе.
Избегание "магических" цифр
Избегайте использования магических чисел в своем коде. Выбирайте именованные константы с возможностью дальнейшего поиска. Не используйте однобуквенные имена для констант, поскольку они могут появляться во многих местах и поэтому их будет нелегко найти.
Плохо:
if (books.length < 7) {
// Do something
}
Хорошо:
if (books.length < MAX_BOOKS_PER_USER) {
// Do something
}
Конечно с MAX_BOOKS_PER_USER гораздо лучше. Если понадобится изменить с 7 на 6, то достаточно просто изменить константу и в остальных местах автоматически поменяется.
Теперь перейдем к функциям.
Правильное написание функций
Они должны быть маленькими
Придерживайтесь минимализма. Максимум 50 строк, а лучше 20.
Должны выполнять одну вещь
Функции должны выполнять одну вещь. Они должны делать это хорошо. Они должны делать только это.
Если вы следуете этому правилу, то гарантированно они будут маленькими. Также хорошим тоном будет указывать в названии то, что делает функция.
Это сделает код лучше читаемым и понимаемым, а также в случае чего его будет легче рефакторить.
Меньше аргументов
У функций должно быть два или меньше аргументов, чем меньше, тем лучше. По возможности избегайте трех и более аргументов.
Аргументы затрудняют чтение и понимание функции. Они еще сложнее с точки зрения тестирования, поскольку создают необходимость писать тестовые примеры для каждой комбинации аргументов.
Не повторяйтесь
Следуйте "сухому" принципу DRY. Do not repeat yourself! Не повторяйте сами себя.
Повторение кода может быть корнем всех зол в программном обеспечении. Если присутствует дублированный код, то это означает, что вам нужно изменить что-то аж в нескольких местах, когда вы захотите что-то поменять в логике, и благодаря этому легко нарваться на ошибки. А также потратить больше времени на разработку.
Советую использовать возможности рефакторинга своей IDE и извлекайте методы всякий раз, когда вы сталкиваетесь с повторяющимся сегментом кода.
Придерживайтесь соглашений языка
Если вы пишите на Python, то придерживайтесь стандартов PEP. К примеру, расстояние между методами должно быть в две строки.
Вы должны знать правила вашего языка в отношении интервалов, комментариев и именования переменных. Руководства по стилю доступны для многих языков.
Например, вы должны использовать camelCase в Java, но snake_case в Python. Вы помещаете открывающие скобки на новой строке в C# , но в Java и JavaScript принято помещать их в ту же строку.
Эти вещи меняются от языка к языку, и универсального стандарта не существует.
В заключение
Сегодня мы познакомились с некоторыми принципами по написанию чистого кода.
Чистое код – это не навык, который можно приобрести за одну ночь. Это привычка, которую необходимо развивать, помня об этих принципах и применяя их при написании кода.
Вам может быть интересно: