3
public void destroy() {
}

我已经在我的过滤器类中编写了上面的空方法,这是接口所必需的。但是当我的代码去 PMD 检查它提到

Uncommented Empty Method 查找方法不包含语句但没有注释的实例。通过显式注释空方法,更容易区分有意(注释)和无意的空方法。

我不明白。这到底是什么意思?

4

4 回答 4

7

当您有一个带有空主体的方法时,您可能开始编写该方法然后忘记插入主体。如果您打算让该方法为空,您应该记下(在评论中)以解释它是故意为空的。在 的情况下Filter,由于您必须实现该destroy()方法,因此您应该写一个注释,上面写着“无需清理”之类的内容。

于 2013-09-02T10:44:10.700 回答
2

这意味着 - 在 PMD 术语中 - 您必须在空方法中留下评论,因此很明显该方法是空的。

如果您愿意,您也可以评论方法的外部,但这不会满足 PMD。

于 2015-02-06T12:43:25.597 回答
1

警告几乎可以解释自己。

当你留下一个空的方法时,你应该留下一个评论,说明为什么它是空的,谁做的以及何时/谁负责编写它。这样用户就知道它为什么在这里,谁应该使用它,为什么它不起作用

于 2013-09-02T10:47:02.160 回答
0

在某些情况下,如果您必须为每个空方法体添加相同的注释,它可能只会给类添加额外的混乱(例如,如果您正在实现一个包含很多方法的接口,但您只对使用一种方法感兴趣)。

使用此注释来抑制警告:

@SuppressWarnings("PMD.UncommentedEmptyMethodBody")
于 2018-03-23T08:27:21.807 回答