Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
>
V6104. A pattern was detected: A ||...
menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V6104. A pattern was detected: A || (A && ...). The expression is excessive or contains a logical error.

29 Дек 2020

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

Рассмотрим пример подозрительного кода:

boolean firstCond, secondCond, thirdCond;
....
if (firstCond || (firstCond && thirdCond))
....

Это выражение является избыточным. В случае, если 'firstCond == true', значение этого условия будет всегда истинным, независимо от значения 'thirdCond', если же 'firstCond == false', то значение выражения будет всегда ложно, опять же, независимо от значения переменной 'thirdCond'. Таким образом, выражение 'firstCond || (firstCond && thirdCond)' можно упростить:

if (firstCond)

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

if (firstCond || (secondCond && thirdCond))