使用Checkstyle验证域对象get / sets

时间:2011-10-13 15:24:32

标签: java checkstyle pmd

我遇到问题或正在寻找验证以下内容的checkstyle规则。这是一个简单的检查,但当有人手动更改获取/设置名称时,这将是一个值得做的规则。

我希望有一条规则可以在代码中找到类似的内容时验证get / sets和error out。

示例:原始属性是描述。但开发人员需要将其更改为shortDescription,但会弄乱重构。

private String description;

public String getDescription() {
    return description;
}

public void setShortDescription(String description) {
   this.description = description;
}

或者,如果有任何其他规则引擎(如Pmd)可能会捕获此信息。或者是自定义规则集,我想我可以创建。

2 个答案:

答案 0 :(得分:2)

虽然Checkstyle没有涵盖,但如果PMD可能是一个选项,则会有一个BeanMembersShouldSerialize测试,如果有任何非静态和非瞬态字段在Java命名之后没有getter和setter,则会抱怨约定。

答案 1 :(得分:0)

standard checkstyle checks不提供类似的内容,我认为这样的检查没有多大意义:

在您的示例中,您希望报告什么错误?缺少description属性的setter? setShortDescription setter的缺失属性?

checkstyle应该如何知道您想拥有getter / setter的属性?我假设你不想让所有你的私有变量的getter setter。