Главная

Самые распространенные ошибки в коде

Предупреждён – значит вооружен, или как не стоит писать код.

1,624 

34+

Человеку свойственно делать ошибки. Однако есть те ошибки, которых можно легко избежать. Если вам чужды ошибки, описанные в этой статье, то скорее всего вы пишете качественный и читабельный код.

Написание чистого кода полезно не только для вас, но и для ваших коллег, которые будут читать то, что вы написали. Избегая нижеописанных ошибок вы не просто делаете свою жизнь проще — вы также оказываете огромную услугу своей команде. В общем, список из 6 распространенных ошибок:

❶ Слишком много вещей происходит в одной функции

Согласно шаблону единой ответственности(с англ. single responsibility pattern), функция должна отвечать только за выполнение одной вещи. И только одной! На своем веку я повидал много функций, которые объединяли в себе извлечение, обработку и представление данных. По-хорошему каждый этот функционал стоит поместить в отдельную функцию.

Одна функция извлекает данные, одна обрабатывает их, а другая представляет. Суть данного подхода заключается в увеличении надежности программы. Допустим, в предыдущем примере данные были получены с помощью API. Если вдруг API поменяется — например, выйдет обновления, то существует большая опасность того, что весь код программы прийдется переписывать.

❷ Закомментированный код

О да, наверное все видели программы, содержащие несколько закомментированных функций. Никто понятия не имеет, почему они все еще не были удалены и актуален ли еще этот блок закомментированного кода. Тем не менее, все бояться его удалить.

Все думают, что этот код может еще кому-то понадобиться в будущем. Просто удалите неиспользуемые куски закомментированного кода. Не забывайте, всегда можно вернуться к прошлой версии, если вы используете VCS (Version control system).

❸ Неописательное (плохое) название переменных и функций

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

Как я уже писал в посте, выбор правильного имени для переменной либо функции требует времени, но это сэкономит вам больше времени в будущем.

❹ Волшебные числа и строки

Также существует ошибка, которую называют «Волшебные числа и строки». Определение Википедии. Она очень схожа с вышеописанной ошибкой. Ее суть заключается в трудности понимания использования того или иного числа. Магические числа следует заменять описательно именованными переменными.

Давайте лучше разберем пример:

52 в этом примере является магическим числом. Очень трудно понять, почему это число существует и что оно представляет. А почему именно 52? Почему не 64? Это количество недель в году или как?

Вот более удачный пример:

Окей, теперь стало ясно, что 52 — это все карты в колоде. Такой подход также дает контекст другим разработчикам. Кроме того, намного проще изменять значение, так как оно не дублируется. Число присваивается переменной только один раз.

Часто бывают ситуации, когда константы используются многократно в программе. Если ваши константы являют собой «магические числа», ваш код подвержен ошибкам.

То же самое можно сказать и про строки:

Что такое 6yP4cZ? Выглядит как случайный набор символов.

❺ Плохое форматирование кода

Плохое форматирование кода — это ошибка, которую часто допускают люди, не имеющие большого опыта в программировании. Разработчики с многолетним стажем, вероятно, кивнут головой, если вы спросите их, знакомы ли они с тестировщиками или учеными, которые испортили формат кода.
Эта ошибка происходит из-за недостатка опыта( есть исключения — такие языки программирования, как Python, избавляют от многих проблем форматирования).
Одним из наиболее распространенных способов решения проблем с форматированием является использование Linter. Все современные IDE также имеют функционал автоматического форматирования. Иногда вам нужно установить для этого дополнительный плагин, а иногда он уже есть в стандартном пакете IDE.

❻ Хард Кодинг (hard-coding)

Hard coding — это (плохая)практика разработки программного обеспечения, заключающаяся в встраивании нужных данных непосредственно в исходный код программы или других исполняемых объектов, в отличие от получения их (данных) из внешних источников или генерации во время исполнения.
Значения, которые жестко запрограммированы, не допускают изменений в зависимости от ситуации; они объявлены явно.
Хард Кодинг считается плохим шаблоном проектирования.
Однако есть ряд вещей, для которых хард кодинг считается нормой. Это могут быть пароли, расположение файлов, и так далее.
Обычно хардкодинг используют для аутентификации внешних источников или API.
Если вы обнаружите, что многие вещи в вашей программе запрограммированы явно, то лучше пересмотрите код. В большинстве случаев хардкодинг — не лучшее решение проблемы.

Спасибо за внимание, надеюсь, материалы статьи для вас полезны!

34+