2011-06-20 35 views
5

是的,我看到了这样一个问题:如何禁用特定代码行的特定检查式规则?

How to disable a particular checkstyle rule for a particular line of code?

但我不能评论,我想问是否有可能做的OP问:

如何禁用一个特别规则的代码行

我也看到了这一点: Is there a way to force Checkstyle to ignore particular warning in the source code?

我想我的问题的答案是使用 SuppressWithNearbyCommentFilter

我只是不明白我在java中的评论应该看起来像。

说我有下面的代码:

public class MyDataContainer { 
    /** the name */ 
    public String name; 
} 

,我想摆脱“可见性修改”警告和的警告。

我必须启用什么(使用eclipse--cs.sf.net插件)?我的意见不得不看看?

我设法使Suppresion注释滤波器和环绕我的全班同学

//CHECKSTYLE:OFF 
//CHECKSTYLE:ON 

,但我真的不喜欢这种解决方案。

+1

你确定这很重要吗?我的意思是我在Eclipse的所有项目中都收到了一堆警告,即使发布也是如此。如果你知道自己在做什么,为什么你会关心Eclipse中的边界上的黄色标记? – Snicolas

+0

为什么不从checkstyle xml中移除该检查? – abalogh

+8

@Snicolas这是非常重要的。获得更好的代码质量是一回事。在我们的项目中,代码约定包含Eclipse中Warnings/Error的设置,并且整个项目没有警告。当你不关心这些警告时,你会在很短的时间内获得成千上万的项目,没人在乎增加另外10个警告...... –

回答

11

这是一个有点晚,以供将来参考:

可以使用SuppressWithNearbyCommentFilter这样:

<module name="SuppressWithNearbyCommentFilter"> 
    <property name="commentFormat" value="CHECKSTYLE DISABLE ([\w\|]+) FOR (-?\d+) LINES"/> 
    <property name="checkFormat" value="$1"/> 
    <property name="influenceFormat" value="$2"/> 
</module> 

上线要禁用,你可以写警告:

// CHECKSTYLE DISABLE <WarningName> FOR <# of lines> LINES 

例如

// CHECKSTYLE DISABLE MagicNumber FOR 2 LINES 

该数字也可以是负数(如果警告发生在某些您无法触摸的自动生成的代码中)。

相关问题