【问题标题】:How to explicitly comment empty methods?如何显式注释空方法?
【发布时间】:2013-09-02 10:40:27
【问题描述】:
public void destroy() {
}

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

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

我不明白。究竟是什么意思?

【问题讨论】:

  • 尝试在方法前添加@Override注解。

标签: java methods comments pmd noop


【解决方案1】:

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

【讨论】:

  • public void destroy() { //没有什么要清理的。它会工作吗?
  • @user2699528 试试看。
【解决方案2】:

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

如果你愿意,你也可以对方法的外部进行注释,但这不会满足 PMD。

【讨论】:

    【解决方案3】:

    警告几乎可以解释自己。

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

    【讨论】:

    • 这里我的问题是我在哪里可以commnet,在方法内部还是在方法外部?
    • @user2699528 你可以两者都做,但你至少应该在方法之外以一种可以在智能感知中看到的方式进行评论
    • @user2699528 如果我的回答对您有帮助,请接受,如果没有,我会为您解答所有问题
    【解决方案4】:

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

    使用此注释来抑制警告:

    @SuppressWarnings("PMD.UncommentedEmptyMethodBody")
    

    【讨论】:

      猜你喜欢
      • 2011-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 2015-12-06
      • 2017-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多