【发布时间】:2018-03-03 22:18:49
【问题描述】:
import lombok.Data;
@Data
public class Filter {
private Operator operator;
private Object value;
private String property;
private PropertyType propertyType;
}
对于上面的代码,有 4 个 squid:S1068 报告关于未使用的私有字段。 (即使它们被 lombok 生成的 getter 使用)。我已经看到一些与支持“lombok.Data”注释相关的修复程序已被推送,但仍然存在这些烦人的误报。
版本:
SonarQube 6.4.0.25310
SonarJava 4.13.0.11627
用于 Jenkins (2.6.1) 的 SonarQube 扫描仪
【问题讨论】:
-
您可以编写自己的规则,我的意思是覆盖 squid:S1068 并添加对 lombok 导入和@Data 存在的测试。
-
@MaxenceLecointe 不需要覆盖任何东西,这是本机支持的。这也将是最糟糕的方法。如果您对某个规则不满意,最好禁用 SonarQube 规则并编写自己的自定义规则:docs.sonarqube.org/display/PLUG/Custom+Rules+for+Java
-
事实上@Michael-SonarSourceTeam 这就是我所做的,我为这种情况编写了自己的规则并禁用了原始规则。我对“overide”这个词的使用是错误的