Код не выполняется
Этот дефект возникает, когда блок кода не может быть достигнут из-за состояния, которое всегда является истинным или ложным. Этот дефект исключает:
Code deactivated by constant false condition, который проверяет директивы с константами времени компиляции, такими как #if 0 или if(0).
Unreachable code, который проверяет код после перехода к управлению, например, goto, break, или return.
Useless if, который проверяет наличие всегда истинных операторов.
Мертвый код расходует время разработки, память и циклы выполнения. Разработчики должны поддерживать код, который не выполняется. Команды, которые не выполняются, по-прежнему должны храниться и кэшироваться.
Мертвый код часто представляет устаревший код, который больше не используется. Очистка мертвого кода периодически сокращает расходы на обслуживание в будущем.
Исправление зависит от первопричины дефекта. Например, первопричиной может быть состояние ошибки, которое проверяется дважды на одном и том же пути выполнения, что делает вторую проверку избыточной и соответствующий блоковый мертвый код.
Часто детали результата показывают последовательность событий, которые привели к дефекту. Исправление может быть реализовано для любого события в последовательности. Если сведения о результатах не отображают историю событий, можно выполнить обратную трассировку, щелкнув правой кнопкой мыши параметры в исходном коде и просмотреть предыдущие связанные события. См. также раздел Интерпретация результатов поиска ошибок в интерфейсе пользователя Polyspace Desktop.
См. примеры исправлений ниже.
Если вы видите мертвый код от использования таких функций, как isinf и isnan, включите режим анализа, учитывающий неграничные значения. Посмотрите Consider non finite floats (-allow-non-finite-floats).
Если вы не хотите устранять проблему, добавьте комментарии к результату или коду, чтобы избежать другой проверки. См. раздел Результаты анализа пространства адресов с помощью исправлений ошибок или обоснований.
| Группа: Поток данных |
| Язык: C | C++ |
| По умолчанию: Вкл. |
Синтаксис командной строки: DEAD_CODE |
| Воздействие: Низкий |
| CWE ID: 561 |
Code deactivated by constant false condition | Find defects (-checkers) | Unreachable code | Useless if