我们希望使用单行语法来创建简单的Java属性访问器,因此它们占用的空间要少得多,并且更具可读性(就“快速查看”访问器集而言)。但我们确实希望在checkstyle配置中为其他所有内容强制执行多行方法语法。但我不确定如何在Checkstyle配置中为访问器设置此异常,并怀疑它可能无法实现。
所以我们希望我们的访问器看起来像这样:
public String getFoo() { return foo; }
public void setFoo(String foo) { this.foo = foo; }
[实际上我们根本不会有简单的访问器,而只是使用@Property
或者其他东西来注释私有成员变量并为我们生成访问器,因为编写无休止的get和set代码并不真实好处,但这是一个普遍的Java挫折,而且只要这个问题就可以了。]
答案 0 :(得分:0)
如果要使用Checkstyle解决此问题,则必须编写一个或多个自定义检查。您的检查将是您正在修改的检查的子类。然后,对于受影响的所有检查,您可以在checkstyle配置中输入您自己的子类检查(并删除原始配置)。
您可能能够从JavadocMethodCheck中蚕食一些代码,这些代码已经检测到了琐碎的访问器。这听起来像是很多工作,但代码不多,因为你在子类中进行的修改总是相同的,因此可以放入帮助类中。
老实说,我不认为Checkstyle可以开箱即用,对不起!
答案 1 :(得分:-1)
我建议使用SuppressionCommentFilter禁用Checkstyle检查代码块。
然后可以执行以下操作以关闭Checkstyle,如下所示:
// CHECKSTYLE_OFF: ALL
public String getFoo() { return foo; }
public void setFoo(String foo) { this.foo = foo; }
// CHECKSTYLE_ON: ALL