在http://checkstyle.sourceforge.net/config_filters.html#SuppressionCommentFilter上检查supressionCommentFilter的使用。你需要将模块添加到你的checkstyle.xml中
<module name="SuppressionCommentFilter"/>
它是可配置的。因此,你可以在代码中添加注释以关闭checkstyle(在各个级别),然后通过在代码中使用注释再次将其重新打开。例如
//CHECKSTYLE:OFFpublic void someMethod(String arg1, String arg2, String arg3, String arg4) {//CHECKSTYLE:ON
甚至更好,请使用以下经过调整的版本:
<module name="SuppressionCommentFilter"> <property name="offCommentFormat" value="CHECKSTYLE.OFF: ([w|]+)"/> <property name="onCommentFormat" value="CHECKSTYLE.ON: ([w|]+)"/> <property name="checkFormat" value=""/></module>
它允许你关闭对特定代码行的特定检查:
//CHECKSTYLE.OFF: IllegalCatch - Much more readable than catching 7 exceptionscatch (Exception e)//CHECKSTYLE.ON: IllegalCatch
注意:你还必须添加
FileContentsHolder:
<module name="FileContentsHolder"/>
也可以看看
<module name="SuppressionFilter"> <property name="file" value="docs/suppressions.xml"/></module>
在SuppressionFilter同一页面上的部分下,你可以关闭对模式匹配资源的单独检查。
因此,如果你在
checkstyle.xml中:
<module name="ParameterNumber"> <property name="id" value="maxParameterNumber"/> <property name="max" value="3"/> <property name="tokens" value="METHOD_DEF"/></module>
你可以使用以下命令在抑制XML文件中将其关闭:
<suppress id="maxParameterNumber" files="YourCode.java"/>
现在,Checkstyle 5.7中可用的另一种方法是通过@SuppressWarningsjava注释抑制冲突。为此,你将需要在配置文件中添加两个新模块(
SuppressWarningsFilter和
SuppressWarningsHolder):
<module name="Checker"> ... <module name="SuppressWarningsFilter" /> <module name="TreeWalker"> ... <module name="SuppressWarningsHolder" /> </module></module>
然后,在你的代码中,你可以执行以下 *** 作:
@SuppressWarnings("checkstyle:methodlength")public void someLongMethod() throws Exception {
或者,对于多重抑制:
@SuppressWarnings({"checkstyle:executablestatementcount", "checkstyle:methodlength"})public void someLongMethod() throws Exception {
注意:
“ checkstyle:”前缀是可选的(但建议使用)。根据文档,参数名称必须全部小写,但实践表明任何大小写都可行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)