Java的checkstyle,MagicNumberCheck

Mar*_*lte 5 magic-numbers checkstyle

我正在使用checkstyle来获取有关我的源代码的报告.这个问题是关于MagicNumberCheck的.

Date/(org.joda.)DateTime在我的源代码中使用如下:

DateTime dateTime = new DateTime(2013, 2, 27, 23, 0):
dateTime.plusHours(57);
Run Code Online (Sandbox Code Playgroud)

如果幻数在Date或DateTime内,有没有办法抑制MagicNumberCheck通知

Den*_*tta 14

您可以使用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>
Run Code Online (Sandbox Code Playgroud)

现在对于所需的行,你可以这样做

//Check:OFF: MagicNumber
DateTime dateTime = new DateTime(2013, 2, 27, 23, 0):
dateTime.plusHours(57);
//Check:ON: MagicNumber
Run Code Online (Sandbox Code Playgroud)

这只会抑制MagicNumber checks,其余的检查将在这里工作.

你也可以压制多个checcks,比如

//Check:OFF: MagicNumber|Indentation
Code Here
//Check:ON: MagicNumber|Indentation
Run Code Online (Sandbox Code Playgroud)

这只会压制MagicNumber and Indentation Checks.其他检查将正常工作.