4

我们希望拥有使用单行语法的普通 Java 属性访问器,因此它们占用的空间要少得多,并且更具可读性(就快速“查看”访问器集而言)。但我们确实希望对 checkstyle 配置中的所有其他内容强制执行多行方法语法。但我不确定如何为 Checkstyle 配置中的访问器设置此异常,并怀疑这可能是不可能的。

所以我们希望我们的访问器看起来像这样:

public String getFoo() { return foo; }
public void setFoo(String foo) { this.foo = foo; }

[事实上,我们宁愿根本没有琐碎的访问器,而只是用@Propertyor 注释私有成员变量并为我们生成访问器,因为编写无穷无尽的 get 和 set 代码并没有真正的好处,但这是一个普遍的 Java 挫折就这个问题而言,顺便说一句。]

4

2 回答 2

0

如果您想使用 Checkstyle 解决此问题,则必须编写一个或多个自定义检查。您的支票将是您正在修改的支票的子类。然后,对于所有受影响的检查,您将在 checkstyle 配置中输入您自己的子类检查(并删除原始检查)。

您可能能够从 JavadocMethodCheck 中蚕食一些代码,这些代码已经检测到了微不足道的访问器。这听起来工作量很大,但代码并不多,因为您在子类中所做的修改总是相同的,因此可以放入辅助类中。

老实说,我不认为 Checkstyle 可以开箱即用,抱歉!

于 2012-10-26T20:22:25.650 回答
-1

我建议使用SuppressionCommentFilter禁用 Checkstyle 检查代码块。

然后可以执行以下操作来关闭 Checkstyle,如下所示:

// CHECKSTYLE_OFF: ALL
public String getFoo() { return foo; }
public void setFoo(String foo) { this.foo = foo; }
// CHECKSTYLE_ON: ALL
于 2011-02-14T02:44:31.357 回答