SonarQube 规则 squid:S1200 计数 java.* 类 在其 20 的限制内?

SonarQube rule squid:S1200 counts java.* classes in its limit of 20?

SonarQube 规则如何

squid:S1200: Classes should not be coupled to too many other classes (Single Responsibility Principle)

将耦合数计算到 20 的极限?

在这条规则的 20 个限制中,似乎 class 来自标准 Java 包,如 java.lang.*java.text.*java.util.*。所以如果我使用 Java Integer class,我已经用完了这个规则限制的 1/20。

附加信息: SonarQube 版本:4.5.1

回答您的问题的最佳方法是直接查看此规则的源代码: https://github.com/SonarSource/sonar-java/blob/c1f15b81bcd9d643ab403aeea6e1606040f84eac/java-checks/src/main/java/org/sonar/java/checks/ClassCouplingCheck.java

所以它计算每个声明的类型。所以实际上,如果您使用 java.lang.Integer,它将算作一种类型,因此是该规则限制的 1/20。

好消息是您可以在质量配置文件中配置这个“20”这个神奇的数字。