До конца раздачи бесплатных лицензий осталось 00:59:58. Забрать!
Анализатор обнаружил ситуацию, когда 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
}
Данная диагностика классифицируется как:
Взгляните на примеры ошибок, обнаруженных с помощью диагностики V8014. |
Была ли полезна эта страница документации?
Мы ответим вам на:
Если вы так и не получили ответ, пожалуйста, проверьте, отфильтровано ли письмо в одну из следующих стандартных папок: