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