如何在Java中为声纳设置自定义复杂度限制?

时间:2019-03-18 17:39:36

标签: java sonarqube complexity-theory cyclomatic-complexity

有没有办法设置声纳的复杂度极限? 我更喜欢非常简单的代码(最多一个if或loop),但是我找不到像sonar.cpd.java.minimumtokenssonar.cpd.java.minimumLines这样的设置来进行代码重复(并且似乎不起作用,但这将是另一个问题) )。

我想减少方法的圈复杂度限制,以及一类方法的最大数量。对于后者,行数限制是可以的。 如何设置这些复杂度限制?

1 个答案:

答案 0 :(得分:0)

SonarQube提供了一些针对循环复杂性的Java规则。配置它们的唯一方法是使用专用的质量配置文件。默认情况下, SonarWay 质量配置文件使用固定阈值。但是,这些规则是可参数化的,您可以在创建质量配置文件(默认SonarQube的 SonarWay 配置文件除外)后立即对其进行配置。然后,您将必须配置项目以依赖于此新的质量配置文件,而不是 SonarWay

作为参考,请查看以下规则:

我还建议您看看另一条与复杂性相关的规则:

此规则依赖于Cognitive Complexity的概念,其设计目的是为了弥补环复杂性的不足,并提供一种能够更准确地反映出理解的相对困难,从而维护方法,类和应用程序的相对度量。