5

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

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

DateTime dateTime = new DateTime(2013, 2, 27, 23, 0):
dateTime.plusHours(57);

如果幻数在日期或日期时间内,有没有办法抑制MagicNumberCheck 通知?

4

2 回答 2

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>

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

//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。其他检查将正常工作。

于 2013-08-14T19:45:19.957 回答
2

您可以使用评论来禁止 CheckStyle 通知

//CHECKSTYLE:OFF

在那些行之前

//CHECKSTYLE:ON

之后重新启用它。

这需要启用模块SuppressionCommentFilter 。

当然,您也可以创建自己的模块来完全满足您的需求。

于 2013-03-04T12:53:29.293 回答