Как решается оценка коэффициента дублирования SonarQube / матрица оценок?
Обычно я использую SonarQube для выполнения статического анализа кода текущих проектов с целью выявления лучших нарушений правил и возможных аномалий.(Также используется плагин SonarLint, но это выходит за рамки.) Я знаю, что поддержание минимального коэффициента дублирования важно, так как оценивание с А для показателей надежности, безопасности и ремонтопригодности. Однако, насколько низко желательно для программного проекта? SonarQube(версия 6.7.1 (сборка 35068)) использует эту матрицу для оценки коэффициента дублирования.
Поиск источника значений, используемых в матрице, и чтение всех веб-страниц, которые появляются на первых 3 страницах результатов поиска. Однако все, что я смог найти, было связано с тем, как коэффициент дублирования в SonarQube работает и настраивается, с важностью сохранения низкого коэффициента дублирования (любое число не упомянуто) и функциями SonarQube, которые направляют пользователей при решении задач дублирования.
После того, как я не смог найти никаких результатов в области SonarQube, я расширил свои исследования, чтобы узнать, какой желательный и приемлемый коэффициент дублирования для программного обеспечения. Опять не могу найти никаких чисел, кроме некоторых сайтов, которые утверждают, что он должен быть равен нулю, что кажется мне нереальным.
Может ли кто-нибудь обосновать, как определяются значения, используемые в матрице? Почему ниже 3 оценивается как А, а не 4?
1 ответ
Формула для расчета дублирования кода
Duplicated lines (%) = Density of duplication = Duplicated lines / Lines * 100
согласно документации.
Вы можете настроить правила дублирования самостоятельно:
Это также задокументировано здесь.