java - @version 标签是否应该表示该源文件所属的工件的版本,或者该文件上次更改时的版本?

标签 java version javadoc

以前我的理解是,@version 标记的目的是向库用户显示特定文件最后更改的版本。例如,如果 liblibrary v1.7 有一个新版本,并且其开发人员在实际状态的源中维护 @version 标记(手动或使用自动化工具),那么人们可以查看源工件并查看该特定文件自先前版本 1.6 以来是否已更改。

但是这里有一段 javadoc 文档,其中指出每个源文件中的 @version 标记应该仅保存整个工件的当前发行版本。

来自javadoc - The Java API Documentation Generator :

This tag is intended to hold the current version number of the software that this code is part of

但我根本看不出这有什么用处。如果您可以在构建工具中(构建工件之前)或在工件名称中(构建工件之后)看到当前版本,为什么每个人都会在每个源文件中包含当前版本?

那么您能否准确指定 @version 标记中应包含的内容:该文件上次更改时的版本(因此源 artfiact 中的每个文件都可能有自己的 @version 标签),或者只是工件的版本(因此每个源文件都有相同的 @version 标签)?前一种方法实际上曾经被使用过吗?

最佳答案

根据我的经验,版本标记始终包含文件的当前版本。

由于可以在运行时检查注释,因此检查文件上的版本注释可能很有用/实用。一个例子是从网络位置更新文件(想想视频游戏更新)。

由于注释对程序/编译器比对程序员更直接有用,因此版本标记应始终包含当前版本。

但是,每个开发人员可能会以不同的方式使用这些版本标签,这取决于他们。在您提出的案例中,他们发现以非预期的方式使用版本标签可以在某种程度上帮助他们。

所以是的,您可以将任何您想要的内容放入版本标记中。它是否有用取决于您的程序。

至于你的最后一个问题,是的。每个开发人员的版本编号差异很大(我在公司/团体而不是个人的背景下使用术语“开发人员”)。一些开发人员为每个稳定版本使用单一版本号。其他人使用单独的文件版本号。

我更喜欢后者,因为它允许您查看某些文件更新或更改的频率。

当然这都是猜测和意见。

关于java - @version 标签是否应该表示该源文件所属的工件的版本,或者该文件上次更改时的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31688744/

相关文章:

opengl - 如何升级我的 OpenGL 版本?

R 版本 3.6 和 4.0 兼容性?

java - 使用 Javadoc -link 选项链接到 javadoc.io

java - 以某种方式转义 IntelliJ IDEA 中的 Todo 关键字

java - 如果未设置默认值,Gradle 会在哪里生成 JavaDoc?

java - Spring:在 Autowiring 组件时选择构造函数

java - Hql查询优化-返回索引id或整个对象

java - IMEI 未通过 Luhn 校验和

java - 其他人是否可以在 src 中实现 `fake` Java 对象?

opencv - 如何使用PythonPath指向新安装的Opencv?