Java 允许具有Checkstyle的单行访问器(getter/setter)语法

Java 允许具有Checkstyle的单行访问器(getter/setter)语法,java,checkstyle,accessor,Java,Checkstyle,Accessor,我们希望使用单行语法实现简单的Java属性访问器,因此它们占用的空间要少得多,可读性也更高(就快速“查看”访问器集而言)。但我们确实希望对checkstyle配置中的所有其他内容强制使用多行方法语法。但我不确定如何在Checkstyle配置中为访问者创建此异常,并怀疑这可能不可能 因此,我们希望访问器的外观如下所示: public String getFoo() { return foo; } public void setFoo(String foo) { this.foo = foo; }

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

因此,我们希望访问器的外观如下所示:

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

[事实上,我们根本不希望有琐碎的访问器,而只是用
@Property
或其他东西注释私有成员变量,并为我们生成访问器,因为编写无休止的get和set代码并没有带来真正的好处,但这是Java的一个普遍挫折,也是这个问题的一个旁敲侧击。]

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

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

// CHECKSTYLE_OFF: ALL
public String getFoo() { return foo; }
public void setFoo(String foo) { this.foo = foo; }
// CHECKSTYLE_ON: ALL

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

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


我真的不认为Checkstyle可以做到开箱即用,对不起

我想您已经看到了Lombok项目来回答最后一段…或者SpringRoo,因为matterI更喜欢使用自动代码格式化程序来解决这个问题。这样开发人员就不必考虑它了。缺点是,如果有一天某个访问器变得不重要,checkstyle将继续忽略它。