【问题标题】:How can a method's Javadoc be copied into other method's Javadoc?如何将一个方法的 Javadoc 复制到其他方法的 Javadoc 中?
【发布时间】:2011-04-06 19:12:31
【问题描述】:

我知道有@inheritDoc,但它只适用于覆盖其他方法的方法。

我有几个具有许多委托方法的类(这些方法覆盖其他方法)。

他们的 Javadoc 可以“继承”(更准确地说:复制)吗?

/** here I need the copy of wrappedMethod's Javadoc */
public void delegateMethod(Object param){
  innerSomething.wrappedMethod(param);
}

【问题讨论】:

标签: java javadoc delegation


【解决方案1】:

@link 或 @see 标记在此处是合适的。如果您要包装该方法,则它必须提供独特的行为,使其不适合重载或其他方式。

【讨论】:

  • 是的,但是当包装的方法受到保护时,@link@see 很遗憾没有用:(
  • @seanizer 哦,不知道可以,谢谢!
  • 这不适用于可见性低于生成内容的方法。例如,对于库编写者来说,生成带有私有成员的 JavaDoc 不是一种选择。我很想知道一种在公共 API 中重用私有文档的方法。
  • @BennyBottema,你在表达我的想法,谢谢!我也处于一种情况,我正在记录一个使用相当广泛的 Javadoc 解析选项字符串的私有方法。这是描述所属的地方,但是几个构造函数传递选项字符串并且也需要相同的文本。如果现在我将跨越超过一个全屏的私有方法中的文本复制到一个甚至每个构造函数,这将只是一个多余的混乱和维护的噩梦。我不想增加仅由构造函数调用的方法的可见性。
【解决方案2】:

有时剪切和粘贴文档实际上是一件好事。以某种方式“链接”文档,尤其是在没有继承关系的情况下,存在其中一种方法的行为会以某种方式改变的风险,从而使链接的文档不再有效。

但是,在代表的情况下,我多次遇到同样的问题。通常,您在委托给包私有委托的主类上有一个公共方法,该委托与主方法具有完全相同的行为。这里的解决方案很简单——记录主类,并将@link 或@see 放在委托类上。每个人都可以看到主类的文档。您可能还需要有关委托类的更详细的文档,例如实现细节。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-17
    • 2013-04-01
    • 2011-03-24
    • 2010-09-20
    • 2015-10-09
    • 2011-08-20
    • 2018-12-19
    • 2018-07-06
    相关资源
    最近更新 更多