# V3023. Consider inspecting this expression. The expression is excessive or contains a misprint.

Анализатор обнаружил подозрительный фрагмент кода, в котором имеется избыточное сравнение. Этот код может содержать лишнюю проверку, тогда выражение можно упростить, или ошибку, тогда код необходимо исправить.

Рассмотрим пример подобного кода:

    if (firstVal == 3 && firstVal != 5)

Данный код избыточен, так как условие будет истинным, если 'firstVal == 3'. Вторая часть выражения бессмысленна.

В данном случае возможны 2 варианта:

1) Вторая проверка просто является избыточной и выражение можно упростить. Тогда корректный код будет выглядеть так:

    if (firstVal == 3)

2) Выражение содержит ошибку и вместо переменной 'firstVal' подразумевалась какая-то другая. Тогда корректный код мог бы выглядеть так:

    if (firstVal == 3 && secondVal != 5)

Данная диагностика классифицируется как:

CWE-571

Взгляните на примеры ошибок, обнаруженных с помощью диагностики V3023.