首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JPA注释中的幻数声纳违规

JPA注释中的幻数声纳违规
EN

Stack Overflow用户
提问于 2012-09-04 14:57:20
回答 3查看 4.3K关注 0票数 6

我们使用声纳来管理我们的代码质量。我对JPA注解的"Magic Number“冲突有一个问题:

代码语言:javascript
复制
@NotNull
@Size(min = 1, max = 300)
@Column(name = "NAME")

这真的违反了注解吗?

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

EN

回答 3

Stack Overflow用户

发布于 2012-09-04 15:35:04

魔术数冲突不知道这个数字是否出现在注释中。我想这是一个假阳性,你可以用两种方法来处理它。或者在您的质量配置文件中禁用此规则,或者创建一个MAGICNUMBER类并列出您用作静态属性的所有数字。例如,请看下面的类

代码语言:javascript
复制
public final class MAGICNUMBER {
public static final int L8000 = 8000;
public static final int L300 = 300;

}

然后,您可以像这样在您的类中使用它

代码语言:javascript
复制
@NotNull
@Size(min = 1, max = MAGICNUMBER.L300)
@Column(name = "NAME")
票数 6
EN

Stack Overflow用户

发布于 2013-12-06 05:41:58

我不确定2012年的情况如何,但现在发现,似乎有一种方法可以禁用它,仅用于v3.3.2中的注释,而且肯定在更高版本中禁用它

票数 4
EN

Stack Overflow用户

发布于 2015-04-03 15:28:19

您可以在checkstyle文件中编辑规则,这样它就不会考虑注释、哈希码方法或特定数字。

代码语言:javascript
复制
<module name="MagicNumber">
    <property name="ignoreNumbers" value="-1, 0, 1, 2, 3"/>
    <property name="ignoreHashCodeMethod" value="true" />
    <property name="ignoreAnnotation" value="true" />
</module>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12258252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档