JPA注释上的魔术数字声纳违规

Sae*_*fam 6 annotations sonarqube

我们正在使用声纳来管理我们的代码质量.我对JPA注释的"Magic Number"违规有问题,如:

@NotNull
@Size(min = 1, max = 300)
@Column(name = "NAME")
Run Code Online (Sandbox Code Playgroud)

这是注释的真正违规吗?

如果没有,我们如何处理这种声纳违规?

ppa*_*rou 6

如果此号码出现在注释中,则Magic Number违规无法理解.恕我直言,这是一个误报,你可以用两种方式处理它.在质量配置文件中禁用此规则或创建MAGICNUMBER类并列出您用作静态属性的所有数字.例如,查看以下类

public final class MAGICNUMBER {
public static final int L8000 = 8000;
public static final int L300 = 300;
Run Code Online (Sandbox Code Playgroud)

}

然后你可以在你的班级中使用它

@NotNull
@Size(min = 1, max = MAGICNUMBER.L300)
@Column(name = "NAME")
Run Code Online (Sandbox Code Playgroud)

  • 然后在Sonar配置文件中禁用相关规则 (3认同)