Проект не должен содержать недостижимый код
Проект не должен содержать недостижимый код.
Если программа не показывает какое-либо неопределенное поведение, недоступный код не может выполняться. Недоступный код не может повлиять на выход программы. Наличие недостижимого кода может указывать на ошибку в логике программы. Недоступный код, что компилятор не удаляет ресурсы отходов, например:
Он занимает пространство в целевой памяти машины.
Его присутствие может заставить компилятор выбирать более длинные, медленные инструкции скачка при передаче управления вокруг недоступного кода.
В цикле это может предотвратить пребывание всего цикла в кэше команд.
Polyspace® Bug Finder™ и Polyspace Code Prover™ по-разному проверить это правило кодирования. Анализы могут привести к различным результатам.
Проверка выполнения Code Prover на недостижимый код показывает больше случаев, чем MISRA® проверка для правила 2.1. См. также Unreachable code
(Polyspace Code Prover). Проверка во время выполнения выполняет более исчерпывающий анализ. В процессе проверки могут быть показаны некоторые образцы, которые не являются строго недоступным кодом, но недоступны только в контексте анализа. Например, в следующем коде проверка во время выполнения показывает потенциальное деление на нуль в первой линии, а затем удаляет нулевое значение flag
для остальной части анализа. Поэтому он рассматривает if
блок недоступен.
val=1.0/flag; if(!flag) {}
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Неиспользованный код |
Категория: Требуемая |
Категория AGC: Требуется |