Такие места в коде лучше все-таки видеть и знать про них. Потом уже можно принять решение и сказать, что в этом месте “так надо”. Сонар - он про поиск таких мест и доставку их до мозга архитектора.
Новые правила "Одинаковые условия в последовательности вида Если (....) ИначеЕсли (....) ИначеЕсли (....)" и "Одинаковый код во взаимоисключаемых ветках ветвления кода"
Я обычно не так говорю. Есть основной сценарий использования:
- есть объектная модель исходного кода - авторы плагина разрабатывают логику анализа проблемных мест: это полностью их право, они читают стандарты и облекают стандарты в правила.
- есть правило - архитектор может его отключить, может включить: это полностью его право.
- есть замечание - там где правило сработало, ведущий разработчик может его учесть как неактуальное, а может исправить: это полностью его право.
- есть технический долг на проекте - менеджер его видит, может согласовывать релиз, а может и нет: это полностью его право.
Холивар здесь исключен - каждый нажимает те кнопки которые считает верными. Сонар он про это - про исключение священных войн как писать правильно, с должным уровнем прозрачности.
Этот модуль вообще очень копипастный
В нем супер-условия на десятки строк, что видно на скриншоте.
Например, 3 условия повторяются, между крайними из них более 100 строк
из множественных elseif, что встречались, большинство можно было в итоге заменить на Соответствие.Получить() с подготовленным соответствием в отдельной функции
Ага, хороший вариант решения.
Прогнал несколько типовых новыми правилами, с дублями кода (одинаковые условия и одинаковый код внутри взаимоисключающих условий) много срабатываний
Любят 1С-ники (и не только сотрудники вендора) копипаст