Ненужный, если условный
Этот дефект возникает на if- операторы, в которых условие всегда истинно. Этот дефект возникает только для операторов if, не имеющих операторов else.
Этот дефект не является необходимым if-statements, когда нет разницы в выполнении кода, если if-статия удалена.
Ненужный if операторы часто указывают на ошибку кодирования. Возможно, if состояние закодировано неправильно или if оператор не требуется вообще.
Исправление зависит от первопричины дефекта. Например, основной причиной может быть состояние ошибки, которое проверяется дважды на одном и том же пути выполнения, что делает вторую проверку избыточной.
Часто детали результата показывают последовательность событий, которые привели к дефекту. Исправление может быть реализовано для любого события в последовательности. Если сведения о результатах не отображают историю событий, можно выполнить обратную трассировку, щелкнув правой кнопкой мыши параметры в исходном коде и просмотреть предыдущие связанные события. См. также раздел Интерпретация результатов поиска ошибок в интерфейсе пользователя Polyspace Desktop.
См. примеры исправлений ниже.
Если избыточное условие представляет собой защитную практику кодирования, и вы не хотите устранять проблему, добавьте комментарии к результату или коду, чтобы избежать другого обзора. См. раздел Результаты анализа пространства адресов с помощью исправлений ошибок или обоснований.
| Группа: Поток данных |
| Язык: C | C++ |
| По умолчанию: Вкл. |
Синтаксис командной строки: USELESS_IF |
| Воздействие: среднее |
Code deactivated by constant false condition | Dead code | Find defects (-checkers) | Unreachable code