Как решается оценка коэффициента дублирования SonarQube / матрица оценок?

Обычно я использую SonarQube для выполнения статического анализа кода текущих проектов с целью выявления лучших нарушений правил и возможных аномалий.(Также используется плагин SonarLint, но это выходит за рамки.) Я знаю, что поддержание минимального коэффициента дублирования важно, так как оценивание с А для показателей надежности, безопасности и ремонтопригодности. Однако, насколько низко желательно для программного проекта? SonarQube(версия 6.7.1 (сборка 35068)) использует эту матрицу для оценки коэффициента дублирования.

Поиск источника значений, используемых в матрице, и чтение всех веб-страниц, которые появляются на первых 3 страницах результатов поиска. Однако все, что я смог найти, было связано с тем, как коэффициент дублирования в SonarQube работает и настраивается, с важностью сохранения низкого коэффициента дублирования (любое число не упомянуто) и функциями SonarQube, которые направляют пользователей при решении задач дублирования.

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

Может ли кто-нибудь обосновать, как определяются значения, используемые в матрице? Почему ниже 3 оценивается как А, а не 4?

1 ответ

Формула для расчета дублирования кода

Duplicated lines (%) = Density of duplication = Duplicated lines / Lines * 100

согласно документации.

Вы можете настроить правила дублирования самостоятельно:

Это также задокументировано здесь.

Другие вопросы по тегам