Код-смелл
Поверхностный признак в исходном коде, который обычно соответствует более глубокой проблеме в системе. Не баг сам по себе, но знак того, что может потребоваться рефакторинг.
Определение
Термин "код-смелл" был введен Кентом Беком и популяризирован Мартином Фаулером. Распространенные код-смеллы включают: Long Methods (функции, делающие слишком много), God Classes (классы с слишком большим количеством ответственностей), Duplicate Code (копипаст логики), Feature Envy (методы, использующие данные другого класса больше своих).
Почему это важно
Код-смеллы указывают на потенциальные проблемы с поддержкой кода. Хотя они не мешают коду работать, они затрудняют его понимание, модификацию и расширение. Исследования показывают, что код с множественными смеллами имеет в 2-3 раза больше дефектов.
Пример
Метод содержит 200 строк и 15 параметров — это код-смелл "Long Method". Он предполагает, что метод должен быть разбит на меньшие, сфокусированные функции.