Запах кода 152 — Логический комментарий


Запах кода 152 — Логический комментарий

Временные хаки могут стать постоянными

TL;DR: Не меняйте семантику кода, чтобы пропустить код.

Проблемы

  • Читабельность

  • Невыявление внимания

Решения

  1. Если вам нужен временный хак, сделайте его явным.

  2. Положитесь на свою систему контроля исходных текстов

Контекст

Изменение кода с помощью временного хака — очень плохая практика разработчика.

Мы можем забыть некоторые временные решения и оставить их навсегда.

Образец кода

Неправильный

if (cart.items() > 11 && user.isRetail())  { 
  doStuff();
}
doMore();
// Production code

// the false acts to temporary skip the if condition
if (false && cart.items() > 11 && user.isRetail())  { 
  doStuff();
}
doMore();

if (true || cart.items() > 11 && user.isRetail())  {
// Same hack to force the condition
Войти в полноэкранный режим Выйти из полноэкранного режима

Правильно

if (cart.items() > 11 && user.isRetail())  { 
  doStuff();
}
doMore();
// Production code

// Either if we need to force or skip the condition
// we can do it with a covering test forcing
// real world scenario and not the code

testLargeCartItems() {}

testUserIsRetail() {}
Войти в полноэкранный режим Выйти из полноэкранного режима

Обнаружение

[X] Полуавтоматическое

Некоторые литеры могут предупреждать о странном поведении.

Метки

  • Комментарии

Заключение

Разделение задач чрезвычайно важно в нашей профессии.

Бизнес-логика и хаки всегда должны быть разделены.

Отношения

Запах кода 151 — Комментированный код

Maxi Contieri ・ Jul 22 ・ 2 min read

#javascript #webdev #новички #программирование

Кредиты

Фото Belinda Fewings on Unsplash

Спасибо @Ramiro Rela за этот совет.


Вы можете не думать, что программисты — художники, но программирование — чрезвычайно творческая профессия. Это творчество, основанное на логике.

Джон Ромеро

Программная инженерия Великие цитаты

Maxi Contieri ・ Dec 28 ’20 ・ 13 min read

#codenewbie #программирование #цитаты #программное обеспечение

Эта статья является частью серии CodeSmell.

Как найти зловонные части вашего кода

Maxi Contieri ・ May 21 ’21 ・ 7 min read

#codenewbie #учебник #качество кода #новички

Оцените статью
devanswers.ru
Добавить комментарий