Управляющие выражения не должны быть инвариантными
Управляющие выражения не должны быть инвариантными.
Если управляющее выражение, например, if условие, имеет постоянное значение, неизменяемое значение может указывать на ошибку программирования.
Средство проверки помечает условия в if или while операторы или условия, которые появляются как первые операнды троичных операторов (?:), если условия инвариантны, например, всегда вычислять как true или false.
Polyspace ® Bug Finder™ и Polyspace Code Prover™ проверки этого правила кодирования по-разному. Анализ может дать различные результаты.
Polyspace Bug Finder отмечает некоторые нарушения MISRA C ® 14.3 через Dead code и Useless if шашки.
Программа проверки кода Polyspace не использует серый код для маркировки нарушений MISRA C 14.3. В программе Code Prover можно также увидеть разницу в результатах на основе выбора опции. Verification level (-to). См. раздел Проверка нарушений стандартов кодирования.
Логические операции, результаты которых являются инвариантными, не допускаются.
Выражение всегда истинно.
Выражение всегда имеет значение false.
Управляющие выражения не должны быть инвариантными.
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Выражения управляющих операторов |
| Категория: Обязательно |
| Категория СМЖЛ: требуется |