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