如何使用带有c#插件4.0的SonarQube检测过高的类耦合

时间:2015-05-14 13:33:01

标签: c# plugins sonarqube

我正在使用SonarQube来提高我们的c#代码质量。 我已经使用以下规则定义了一个质量配置文件:“类不应该与太多其他类(csharpsquid:ClassCoupling)耦合”。但是,自c#插件版本3.4以来,此规则已被删除。我可以理解这条规则是有争议的,但它可以表明一个班级有太多的责任。即使这样,它也很模糊,开发人员仍然可以将这个问题标记为误报。此外,可以设置阈值,超过该阈值可以检测到违规。我认为最好在质量配置文件中保留添加或不添加此规则的自由,而不是简单地从列表中删除它。我发现替换它的唯一其他规则是:CA1505:避免不可维护的代码(fxcop:AvoidUnmantainableCode)和CA1506:避免过多的类耦合(fxcop:avoidExcessiveClassCoupling)。我认为这不是更明确或更不含糊。那么,我可以用其他任何替代方法来衡量类耦合吗?

1 个答案:

答案 0 :(得分:0)

我知道这个决定有点自以为是,但就我们而言,我们已经决定,规则产生的每个问题几乎都不会导致有争议的讨论,以确定问题是否是假阳性或不符合在上下文中。即使这个规则" csharpsquid:ClassCoupling"可能听起来很有用,实际上它从最终用户的角度产生了太多的误报,所以我们决定放弃它。见https://jira.codehaus.org/browse/SONARCS-464