【问题标题】:Javadoc reference param from another method来自另一个方法的 Javadoc 引用参数
【发布时间】:2011-07-12 05:57:10
【问题描述】:

我不想编写多余的 javadoc cmets。如您所见,@param x 在某种程度上是多余的。是否有 javadoc 标记来设置从 B 类中的 @param xA 类中的 @param x 的引用,或者我可以将其省略吗?

/**
 * Class A constructor
 * 
 * @param x  position on x-axis
 */
public A(final int x) {
    this.x = x;
}

/**
 * Class B constructor
 * 
 * @param x  position on x-axis
 * @param y  position on y-axis
 */
public B(final int x, final int y) {
    super(x);
    this.y = y
}

【问题讨论】:

  • 我会退后一步,问您为什么要记录看似具有明显含义的参数。如果代码是根据您选择的名称进行自我记录的,那么 JavaDoc 在很大程度上是无关紧要的。
  • @John 这是一个最小的例子,仅用于说明。
  • 请注意:{@inheritDoc} 至少允许复制覆盖方法的文档。

标签: java javadoc


【解决方案1】:

你不能忽略它,javadoc 不聪明,它只是解析 cmets,他不能说 B 构造函数的 x 参数与 A 构造函数相同,即使有是继承。

我也不认为有办法“分解”这一点。你只需要把它们都写出来,对不起......

【讨论】:

    【解决方案2】:

    使用方法它应该可以工作:如果您覆盖或实现一个方法,如果未提供参数,则会复制参数。

    构造函数不会被继承,对于具有其他参数类型的构造函数更是如此。 Javadoc 无法知道您将参数传递给另一个构造函数,因为它不解释方法/构造函数的内容,只解释外部接口。

    所以,如果您不想编写自己的 doclet 或更改标准 doclet(即使这样,您也必须以某种方式说出要从哪个构造函数继承参数),我想您很不走运。 (我认为这将是一个有用的补充,对于同一类中的多个类似方法也是如此。)

    【讨论】:

      【解决方案3】:

      如果您要覆盖父方法,如果您不包含 javadoc,大多数 IDE 会改为显示父方法的 javadoc。否则无法在 javadoc 语法中定义/引用变量。

      【讨论】:

        猜你喜欢
        • 2021-02-17
        • 2016-11-15
        • 1970-01-01
        • 1970-01-01
        • 2010-12-12
        • 2010-10-17
        • 2022-01-05
        • 1970-01-01
        • 2019-03-20
        相关资源
        最近更新 更多