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

Дублирование одинаковых/похожих блоков кода

В коде найдены одинаковые блоки, следующие сразу друг за другом. Часто это является последствиями неверного или незаконченного "копипаста".

Дублирование кода не всегда является ошибкой. Но даже если ошибки нет, данное предупреждение может послужить подсказкой, что одинаковые блоки кода стоит вынести в отдельную функцию или цикл по их вызову.

Примеры подозрительного кода

ВызовФункции("Строка", 10);
ВызовФункции("Строка", 10); //подозрительно

или

Элементы.ДеревоШагов.Видимость = ПоказыватьШаги;
Элементы.ДеревоШагов.Видимость = ПоказыватьШаги; //подозрительно

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

См. также

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

// sonar:EqualSequentialBlocks:off
// sonar:EqualSequentialBlocks:on