JavaDoc 中是否需要作者标签?

Is the author tag required in JavaDoc or not?

不管通用约定/最佳实践(我知道很多人嘲笑 @author 是不好的做法),而是依赖官方资源,JavaDoc 中是否需要 @author 标记或不是吗?

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

在名为 "order of tags" 的部分中,他们说:

Include tags in the following order:

  • @author (classes and interfaces only, required)
  • @version (classes and interfaces only, required. See footnote 1)
  • @param (methods and constructors only)
  • @return (methods only)
  • @exception (@throws is a synonym added in Javadoc 1.2)
  • @see
  • @since
  • @serial (or @serialField or @serialData)
  • @deprecated (see How and When To Deprecate APIs)

这里似乎 @author 被标记为 "required",即使 @return 之类的东西不是。这对我来说似乎很奇怪。事实上,后来在完全相同的文档中我发现了以下语句:

You can provide one @author tag, multiple @author tags, or no @author tags.

这在我看来完全矛盾。如果你能不提供 @author 标签,那肯定不是 "required"!

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

您引用的文档是风格指南,不是 Javadoc 规范:

This document describes the style guide, tag and image conventions we use in documentation comments for Java programs written at Java Software, Oracle.

它不是任何东西的'official source',除非你在 Oracle 工作。

我会说文档写得不好。

下一段说:

The @author tag is not critical, because it is not included when generating the API specification, and so it is seen only by those viewing the source code. (Version history can also be used for determining contributors for internal purposes.)

此外,这些技术说明在哪里我都看不到声明需要它的声明http://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html#javasourcefiles