javadoc:@version和@since
是否有理由将javadoc:@version和@since,java,documentation,javadoc,Java,Documentation,Javadoc,是否有理由将@version和@since作为类的一部分 它们似乎相互排斥 另外,%I%和%G%是什么意思,以及如何设置/使用它们 @version %I%, %G% 我看不出它们是如何相互排斥的。一个用于定义版本,另一个用于描述方法存在的时间。例如: /** * Does Whatever * @version 1.2.3 * @since 1.2.0 * */ public void myMethod() { // ....... } 关于您提到的字符,它们似乎是专有
@version
和@since
作为类的一部分
它们似乎相互排斥
另外,%I%
和%G%
是什么意思,以及如何设置/使用它们
@version %I%, %G%
我看不出它们是如何相互排斥的。一个用于定义版本,另一个用于描述方法存在的时间。例如:
/**
* Does Whatever
* @version 1.2.3
* @since 1.2.0
*
*/
public void myMethod() {
// .......
}
关于您提到的字符,它们似乎是专有的,无论如何,我不知道它们是什么意思。标签
@version
应该是相关版本或文件的当前版本。%I%
,%G%
语法是源代码管理软件将替换为文件当前版本和文件签出日期的宏
@since
标记应用于定义添加方法、类等的版本。这是您向其他开发人员发出的提示,提示他们只有在针对包的特定版本运行时才应该使用该方法。我将考虑文档中的这些重要的部分,如果你把你的代码作为一个库,供别人使用。 <代码>代码>版本>代码>将被记录到每一个编辑。[1.3.21]
@since
是指自哪一版本将支持此接口等[1.3]
Yuval Adam很有趣,但这不是标准,java文档的目的是每个人都能理解。在Oracle的一篇文章中解释得很好
@版本
…仅限类和接口
在Java软件中,我们使用@version作为SCCS版本。有关详细信息,请参阅“man sccs get”。共识似乎如下:
%每次编辑和删除文件时,I%都会增加
%G%为年月日
创建文件时,%I%设置为1.1。编辑并删除它时,它将增加到1.2
一些开发者如果觉得日期%G%太令人困惑,就会忽略它(并且一直在这样做),例如,1996年3月4日,即3月4日,而%G%将在3月4日制作,美国以外的人会将其解释为4月3日。某些开发人员仅在需要更精细的解决方案时(由于一天内有多个签入),才包括时间%U%
最清晰的数字日期格式是将日期格式化为第一年,类似于yyyy mm dd,如ISO 8601和其他地方(如)所建议的那样,但这种增强需要来自SCCS
@自
指定将Java名称添加到API规范时的产品版本(如果与实现不同)。例如,如果在Java 2平台标准版API规范1.2版中添加了包、类、接口或成员,请使用:
Javadoc标准doclet显示一个“自”子标题,其文本为字符串参数。该副标题仅出现在生成的文本中,与源文档注释中出现@since标记的位置相对应(Javadoc工具不会将其扩展到层次结构)
(约定曾经是“@自JDK1.2起”,但因为这是Java平台的规范,不是Oracle JDK或SDK的专用规范,所以我们删除了“JDK”。)
引入包时,在包描述及其每个类中指定@since标记。(从技术上讲,向每个类添加@since标记不是必需的,但这是我们的惯例,因为它可以在源代码中实现更高的可见性。)在没有覆盖标记的情况下,@since标记的值将应用于包的每个类和成员
引入类(或接口)时,在其类描述中指定一个@since标记,在成员中不指定@since标记。仅向在类的更高版本中添加的成员添加@since标记。这将最小化@since标记的数量
如果一个成员在以后的版本中从protected更改为public,@since标记将不会更改,即使它现在可以被任何调用方使用,而不仅仅是子类
首先,@since表示版本,而不是日期,因为它是从哪个版本开始提供的。如果我错了,请纠正。Thanks我一直用@since来表示我编写非API代码的日期Thanks很有趣,但java的说法不同。你所建议的是反对Java原则的常见做法吗?是的,
@因为
似乎定义了。请复习这个答案。谢谢你的解释。如果版本是当前版本,则所有类都将包含该#。在这种情况下,@version不是多余的,因为客户和开发人员都知道他/她使用的是哪个版本,我在实际的java api中没有看到@version。ThxSasha:我相信@version在默认情况下是隐藏的,就像@author一样。我只是不认为把它包括在内有什么意义,作为一个开发人员,自然应该知道他从cvs中签出并使用了什么版本,特别是如果标记在项目中的所有类之间共享。我个人从未使用过@version。为了补充Rob的评论,我通常在查看JDK文档时发现它们很有用。曾经有一段时间,我是一个愚蠢的年轻开发人员,在Windows上使用JDK1.4开发我的项目,而部署使用1.3。我花了一上午的时间试图修复缺少方法的异常。你能给我一个例子/链接吗?%I%是如何在每次编辑和删除文件时递增的?
/**
* @since 1.2
*/