Введение

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

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

Недоступность против профилирования

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