【问题标题】:Is the author tag required in JavaDoc or not?JavaDoc 中是否需要作者标签?
【发布时间】:2017-03-31 08:53:55
【问题描述】:

不管常见的约定/最佳实践(据我所知,很多人嘲笑 @author 是不好的做法),而是依赖官方来源,JavaDoc 中是否需要 @author 标记?

在调查这个问题时,我查看了 Oracle 自己的文档 http://www.oracle.com/technetwork/articles/java/index-137868.html(这也是在 Google 中搜索“javadoc tags”时的第一个结果)。

在一个名为“标签顺序”的部分中,他们说:

按以下顺序包含标签:

  • @author(仅限类和接口,必填)
  • @version(仅限类和接口,必填。见脚注 1)
  • @param(仅限方法和构造函数)
  • @return(仅限方法)
  • @exception@throws 是 Javadoc 1.2 中添加的同义词)
  • @see
  • @since
  • @serial(或@serialField@serialData
  • @deprecated(请参阅如何以及何时弃用 API)

这里似乎@author 被标记为“必需”,即使像@return 这样的东西不是。这对我来说似乎很奇怪。事实上,后来在完全相同的文件中,我发现了以下声明:

您可以提供一个@author 标签、多个@author 标签或不提供@author 标签。

在我看来,这完全是矛盾的。如果你不能提供@author标签,那肯定不是“必需的”!

我是不是看错了什么,或者这只是写得不好的文档?

【问题讨论】:

  • “很多人嘲笑@author 是一种糟糕的做法……”我从未听过有人这么说。虽然我不知道任何人认为@author 是必需的,但我认识的每个开始重视javadoc 的人似乎都欣赏在对类进行基本修改之前能够咨询原始作者的价值。
  • @VGR 例如,这里将其描述为“不需要的噪音”:stackoverflow.com/a/17271433/191761
  • @Kidburla 因此,关于 SO 的一个答案抵消了所有关于问责制、审计跟踪、谁做了什么以及何时做的常识……?请。
  • 那个答案是错误的。 @author 标签比版本控制有用得多。而且它并不是要替代版本控制。

标签: java javadoc


【解决方案1】:

您引用的文档是样式指南,而不是 Javadoc 规范:

本文档描述了我们在 Java Software, Oracle 编写的 Java 程序文档 cmets 中使用的样式指南、标记和图像约定。

它不是任何东西的“官方来源”,除非您在 Oracle 工作。

【讨论】:

    【解决方案2】:

    我会说文档写得不好。

    下一段说:

    @author 标签并不重要,因为它不包含在 生成 API 规范,因此只有那些人才能看到 查看源代码。 (版本历史也可用于 为内部目的确定贡献者。)

    另外,这些技术说明在哪里我可以看到声明是必需的http://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html#javasourcefiles

    【讨论】:

      猜你喜欢
      • 2011-01-11
      • 2011-07-21
      • 2016-06-14
      • 1970-01-01
      • 2013-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多