Перейти к содержанию

Сравнение выражения с самим собой

Дублируются выражения в операторах сравнения. Скорее всего, в выражении допущена опечатка или не исправлен неверный "копипаст". И условие становится почти бессмысленным, т.к. выражение сравнения всегда истинно. Часто это является последствиями неверного или незаконченного "копипаста", т.е. при дублировании кода. Рекомендация - проверьте код на валидность выражений.

Примеры подобных неверных условий

Если Перем1 = Перем2 Тогда
Если Функция1(Перем1) <> Функция1(Перем1) Тогда
Если Перем1 + 10 > 10 + Перем1 Тогда
Пока Перем1 + 20 <> 20 + Перем1 Цикл

Согласно Common Weakness Enumeration потенциальные ошибки, найденные с помощью этой диагностики, классифицируются как - CWE-570 - CWE-571

См. также

Экранирование кода

// sonar:SelfCompare:off
// sonar:SelfCompare:on