Javadoc @see或{@link}?

有人能告诉我javadoc @see{@link}之间的区别吗?

或者更确切地说,何时使用它们中的哪一种?

114180 次浏览

这里的官方指南非常清楚。

功能上的区别是:

  • {@link}是一个内联链接,可以放置在你喜欢的任何地方
  • @see创建自己的section

在我看来,{@link}最适合在描述中使用类、字段、构造函数或方法名。用户将能够点击到您所链接的javadoc。

我在两种情况下使用@see注释:

  • 一些非常相关但在描述中没有提到的东西。
  • 我在描述中多次提到同一件事,它被用作多个相同链接的替代品。

我基于随机检查标准库中各种各样的文档得出了这个观点。

@see在Javadocs中创建一个隔离行。{@link}用于嵌入文本。

当它是一个相关实体时,我使用@see,但我没有在说明文中引用它。当存在紧密耦合时,我在文本中使用链接,或者(我觉得)读者可能会从导航提示中受益,例如,您需要直接引用它。

还有另一个引用(弃用部分)相同的官方文档更倾向于{@link}而不是@see(自Java 1.2以来):

对于Javadoc 1.2及以后版本,标准格式是使用@deprecated 标签和内嵌的{@link}标签。这将创建内联链接,其中 你想要它。例如:< / p >

对于Javadoc 1.1,标准格式是创建一对@deprecated和@see标记。例如:

@see标记与@link标记略有不同,
在某些方面有限,在其他方面更灵活:

different JavaDoc link types 不同的JavaDoc链接类型 > < /晚餐

  1. 显示成员名以便更好地学习,并且是可重构的;通过重构重命名时,名称将更新
  2. 可重构和定制;显示的是您的文本而不是成员名称
  3. 显示名称,可重构
  4. Refactorable,可定制的
  5. 一个相当平庸的的组合,即:
  • 可重构的,可定制的,并且保留在另请参阅部分
  • 在Eclipse悬停中很好地显示
  • 显示生成时的链接标记及其格式😞
  • 当使用多个@see项时,描述中的逗号会使输出混淆
  1. 完全非法;在生成器中导致意外的内容和非法字符错误

结果如下:

不同链接类型的JavaDoc生成结果 JavaDoc生成不同链接类型的结果 > < /晚餐

致以最亲切的问候。