Назад к словарю
Код-ревью и качествоPopular

Код-смелл

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

Определение

Термин "код-смелл" был введен Кентом Беком и популяризирован Мартином Фаулером. Распространенные код-смеллы включают: Long Methods (функции, делающие слишком много), God Classes (классы с слишком большим количеством ответственностей), Duplicate Code (копипаст логики), Feature Envy (методы, использующие данные другого класса больше своих).

Почему это важно

Код-смеллы указывают на потенциальные проблемы с поддержкой кода. Хотя они не мешают коду работать, они затрудняют его понимание, модификацию и расширение. Исследования показывают, что код с множественными смеллами имеет в 2-3 раза больше дефектов.

Пример

Метод содержит 200 строк и 15 параметров — это код-смелл "Long Method". Он предполагает, что метод должен быть разбит на меньшие, сфокусированные функции.

Связанные термины

code smellwhat is code smellcode smells examplescode smell definition

Автоматизируйте код-ревью с diffray

Мульти-агентная AI-система для код-ревью. Находит баги, уязвимости и проблемы архитектуры автоматически.