Анализатор обнаружил выражение, которое можно упростить. Иногда за такой избыточностью кроются логические ошибки.
Рассмотрим пример подозрительного кода:
bool firstCond, secondCod, thirdCond;
....
if (firstCond || (firstCond && thirdCond))
....
Это выражение является избыточным. В случае, если 'firstCond == true', значение этого условия будет всегда истинным, независимо от значения 'thirdCond', если же 'firstCond == false', то значение выражения будет всегда ложно, опять же, независимо от значения переменной 'thirdCond'.
Возможно, что программист ошибся и написал не ту переменную во втором подвыражении. Тогда корректный код мог бы выглядеть так:
if (firstCond || (secondCod && thirdCond))
Взгляните на примеры ошибок, обнаруженных с помощью диагностики V3017. |
Была ли полезна эта страница документации?
Мы ответим вам на:
Если вы так и не получили ответ, пожалуйста, проверьте, отфильтровано ли письмо в одну из следующих стандартных папок:
Испытай
удачу!