Как установить пользовательские пределы сложности для сонара в Java? - PullRequest
0 голосов
/ 18 марта 2019

Есть ли способ установить пределы сложности для сонара?Я предпочитаю очень простые коды (не более одного if или loop), но я не могу найти параметр типа sonar.cpd.java.minimumtokens или sonar.cpd.java.minimumLines, существующий для дублирования кода (и, похоже, не работает, но это будет другой вопрос).

Я хотел бы уменьшить предел цикломатической сложности для методов, а также максимальное количество методов в одном классе.Для последнего, предел линии будет в порядке.Как я могу установить эти пределы сложности?

1 Ответ

0 голосов
/ 11 апреля 2019

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

Для справки ознакомьтесь со следующими правилами:

Я бы также рекомендовал взглянуть на другое правило, связанное со сложностью:

  • squid: S3776 : когнитивная сложность методов не должна быть слишком высокой

Это правило опирается на концепцию Когнитивная сложность , разработанную для устранения недостатков цикломатической сложности и измерения, которое более точно отражает относительную трудность понимания и, следовательно, поддержания методов, классов, и приложения.

...