SonarQube 将“重复代码块”报告给不同的简单 POJO 类,如下所示。在这种情况下,A和B是不同的角色。所以,我认为我不应该创建抽象类。public class A{ private String xxx; // omitted other fields. public A() {} public String getXxx() { return xxx; } public void setXxx(String xxx) { this.xxx= xxx; } // omitted other fields' setter and getter}public class B{ private String xxx; // omitted other fields. public B() {} public String getXxx() { return xxx; } public void setXxx(String xxx) { this.xxx= xxx; } // omitted other fields' setter and getter}严重性是主要的。所以,我想忽略它。然后,我将 @SuppressWarning("common-java:DuplicatedBlocks") 和 @SuppressWarning("all") 添加到两个类中。但它不能被忽视。虽然在JIRA中提出了类似的问题,但尚未解决。我的 SonarQube 的版本是 6.5。谢谢!
3 回答
开心每一天1111
TA贡献1836条经验 获得超13个赞
有多种方法可以实现这一点,具体取决于您对此重复问题的重视程度。SonarQube 报告它发现的内容,完全由您决定如何处理它。
如果您认为这确实是一个问题,则必须重构您的代码:SonarQube 在没有重复时无法报告重复
如果您认为此特定实例不是问题,您可以降低问题的严重性,或将其标记为“无法修复”,并为将要跟随您的人提供一个很好的评论 - 我相信使用
@SuppressWarnings
当 SonarQube 中有专用功能时,对此的注释有点滥用如果您认为 SonarQube 甚至不应该引发关于重复代码的问题,您可以禁用规则(核选项),或者设置您的分析以忽略 POJO 包的重复
例如,您可以将以下属性添加到您的扫描仪配置中:
sonar.cpd.exclusions=path/to/your/package/*.java
RISEBY
TA贡献1856条经验 获得超5个赞
最好的方法是调整质量门以满足您的需要。需要记住,默认的内置质量门是标准的,应该始终是首选。
复制默认值并创建一个新的质量门。编辑它以根据您的舒适程度(取决于您的项目需要)接受重复百分比。
添加回答
举报
0/150
提交
取消