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。
原文由 Neriudon 发布,翻译遵循 CC BY-SA 4.0 许可协议
将其放入答案部分以附上屏幕截图:
如果您确信这两个代码块具有不同的角色,那么您可以从 Web 控制台将报告的严重性级别更改为
Minor
或Info
。例如,请参见下面的屏幕截图:有时 Sonar 报告严重的事情并不严重,但这又取决于项目性质 :)
但是,就像上面评论中提到的 @Stephen 一样,如果
xxx
是相同的字段并且继承有意义,那么您可以使用父抽象类来避免报告。