我正在使用checkstyle来获取有关我的源代码的报告。这个问题是关于MagicNumberCheck的。
我Date/(org.joda.)DateTime
在我的源代码中使用这样的:
DateTime dateTime = new DateTime(2013, 2, 27, 23, 0):
dateTime.plusHours(57);
如果幻数在日期或日期时间内,有没有办法抑制MagicNumberCheck 通知?
我正在使用checkstyle来获取有关我的源代码的报告。这个问题是关于MagicNumberCheck的。
我Date/(org.joda.)DateTime
在我的源代码中使用这样的:
DateTime dateTime = new DateTime(2013, 2, 27, 23, 0):
dateTime.plusHours(57);
如果幻数在日期或日期时间内,有没有办法抑制MagicNumberCheck 通知?
您可以使用SuppressionCommentFilter检查来执行此操作。
配置属性值,例如(在您的checkstyle 配置文件中)
<module name="SuppressionCommentFilter">
<property name="offCommentFormat" value="Check\:OFF\: ([\w\|]+)"/>
<property name="onCommentFormat" value="Check\:ON\: ([\w\|]+)"/>
<property name="checkFormat" value="$1"/>
</module>
现在对于所需的行,您可以这样做
//Check:OFF: MagicNumber
DateTime dateTime = new DateTime(2013, 2, 27, 23, 0):
dateTime.plusHours(57);
//Check:ON: MagicNumber
这只会抑制MagicNumber checks
,其余检查将在这里工作。
您也可以禁止多次检查,例如
//Check:OFF: MagicNumber|Indentation
Code Here
//Check:ON: MagicNumber|Indentation
这只会压制MagicNumber and Indentation Checks
。其他检查将正常工作。
您可以使用评论来禁止 CheckStyle 通知
//CHECKSTYLE:OFF
在那些行之前
//CHECKSTYLE:ON
之后重新启用它。
这需要启用模块SuppressionCommentFilter 。
当然,您也可以创建自己的模块来完全满足您的需求。