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

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

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

V8014. Two 'if' statements have identical conditions. The first 'if' statement contains function return, making the second 'if' redundant, or the code contains a logical error.

03 Апр 2026

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

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

if l >= 0x06C0 && l <= 0x06CE {
  return true
}
if l == 0x06D5 {                 // <=
  return true
}
if l >= 0x0905 && l <= 0x0939 {
  return true
}
if l == 0x06D5 {                 // <=
  return true
}
if l >= 0x0985 && l <= 0x098C {
  return true
}

В данном случае условие l == 0x06D5 дублируется, и для исправления кода достаточно убрать одно из них. Однако возможно, что во втором случае проверяемое значение должно отличаться от первого.

Корректный вариант кода:

if l >= 0x06C0 && l <= 0x06CE {
  return true
}
if l == 0x06D5 {
  return true
}
if l >= 0x0905 && l <= 0x0939 {
  return true
}
if l >= 0x0985 && l <= 0x098C {
  return true
}