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