Анализатор обнаружил подозрительный фрагмент кода, в котором имеется избыточное сравнение. Этот код может содержать лишнюю проверку, тогда выражение можно упростить, или ошибку, тогда код необходимо исправить.
Рассмотрим пример подобного кода:
if (firstVal == 3 && firstVal != 5)
Данный код избыточен, так как условие будет истинным, если 'firstVal == 3'. Вторая часть выражения бессмысленна.
В данном случае возможны 2 варианта:
1) Вторая проверка просто является избыточной и выражение можно упростить. Тогда корректный код будет выглядеть так:
if (firstVal == 3)
2) Выражение содержит ошибку и вместо переменной 'firstVal' подразумевалась какая-то другая. Тогда корректный код мог бы выглядеть так:
if (firstVal == 3 && secondVal != 5)
Данная диагностика классифицируется как:
Взгляните на примеры ошибок, обнаруженных с помощью диагностики V3023. |