JavaDocs的最佳实践 - 接口,实现或两者兼而有之?

时间:2012-07-26 14:50:23

标签: java

我有一个DAO接口和DAO的实现。界面中的JavaDocs是Netbeans向实现DAO方法的客户端显示的内容。

显然我需要在界面中维护JavaDocs。但是它的实施呢?一方面,将它们放在那里很方便,但另一方面,它是重复的,需要将它们保存在两个地方。

只是想知道其他Java开发人员做了什么。

3 个答案:

答案 0 :(得分:7)

如果实现方法没有提供自己的Javadoc,那么仍然会有一个指向接口方法文档的链接。我从未理解为什么Eclipse会插入/* (non-Javadoc) @see ... */,因为Javadocs会自动引用接口的文档。

示例:

public interface Named {
  /** Returns the name. */
  public String getName();
}

public class Thing implements Named {
  // note no Javadocs here
  public String getName() {
    return "thing";
  }
}

运行javadoc后,Thing.getName的Javadocs为:

getName

public java.lang.String getName()
    Description copied from interface: Named
    Returns the name.
    Specified by:
        getName in interface Named

答案 1 :(得分:3)

接口应该包含有关合同的所有信息,基本上是方法的作用,参数的描述,返回值等。

除非接口描述中没有明确的一些额外信息(很少有),否则实现文档应该只是链接到接口方法。

这是我发现从屏障的实现者和客户端最有用的格式。

答案 2 :(得分:1)

在我的项目中,Eclipse自动创建文档如下:

     /* (non-Javadoc)
     *  @see com.comp.SomeInterface#method(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
     */
    @Override
    public void method(HttpServletRequest arg0, HttpServletResponse arg1)
            throws Exception {
        // TODO Auto-generated method stub

    }

我们使用Ant任务创建了javadoc,因此它创建了该接口的链接。