Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top

Вебинар: Зачем тестировщику нужна безопасность? - 16.04

menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V7003. A condition is equivalent to a condition in an 'else if' statement, making it unreachable.

03 Апр 2026

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

Рассмотрим пример:

if (a == 1) {
  foo();
} else if (a == 2) {
  bar();
} else if (a == 1) {
  baz();
}

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

if (a == 1) {
  foo();
} else if (a == 2) {
  bar();
} else if (a == 3) {
  baz();
}

Учитываются также не идентичные, но эквивалентные выражения. Рассмотрим пример:

if (a & b) {
  foo();
} else if (b & a) {
  bar();
}

На данный код будет выдано предупреждение, так как операция побитового "И" является коммутативной, и результат окажется одинаковым.