【发布时间】: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 标签比版本控制有用得多。而且它并不是要替代版本控制。