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

Мёртвый код

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

Определение

Мёртвый код принимает несколько форм: недостижимый код (после return/throw), неиспользуемые функции/классы, код за feature flags, которые никогда не включались, зомби-код (закомментированные блоки "на всякий случай"). Он накапливается при удалении фич, рефакторинге и смене разработчиков. Инструменты статического анализа, tree-shaking (webpack, rollup) и предупреждения IDE обнаруживают мёртвый код.

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

Мёртвый код увеличивает когнитивную нагрузку, размер бандлов и бремя поддержки. Разработчики тратят время на чтение и поддержку кода, который никогда не выполняется. Он также может скрывать уязвимости безопасности или давать ложную уверенность в покрытии тестами.

Пример

Функция sendLegacyEmail() была заменена на sendEmail() 2 года назад, но никогда не удалена. Она никогда не вызывается, но разработчики всё ещё читают её при поиске логики email. Статический анализ отмечает её как неиспользуемую.

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

dead codeunused codedead code eliminationunreachable codecode cleanup

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

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