<强> DUPLICATE

如何进行版本号?


您好,

所以我最近看到 Groovy 发布到版本 1.6 并且在收听Java Posse播客时他们正在评论这个版本中有多少包装它应该已经 2.0 发布。

这让我思考。版本号是否随意?我曾经认为他们有意义,但我猜不是。这只是基于里程碑的,并将项目设置为项目吗?

您的团队如何控制您的版本号和版本?

提前致谢

有帮助吗?

解决方案

区分用于营销的版本控制和用于技术用途的版本控制。

对于营销,答案是:“无论您希望客户想到什么。”在那种情况下,“主要新版本”是指“主要新版本”。应该附有一个主要版本号。

另请注意,细心的客户会犹豫是否使用“主要”消费者。新版本,直到时间过去,他们已经在测试环境中尝试过。 “构建变化”发布被认为具有错误修复和其他不需要太多安装过程的小事。

技术用途,答案是:“无论您想为开发人员编码什么信息。”没有一种正确的方法可以做到这一点;这取决于你的目标。

也许是一个“主要”的版本意味着“可能意味着许多新错误的重大变化”。也许是一个新的“构建”数字在每次编译时都会发生。也许按日期每晚构建标签是您的版本。你可以根据时间,Scrum周期,里程碑,功能等来做它!

其他提示

他们非常武断。很多人喜欢像

这样的东西
[major].[minor].[release].[revision]

作为他们的版本计划,但我也一直在拒绝发布1.0品牌产品的公司,因为其中一个副总裁不想这样做。营销也可以影响这一点。

要求增加主要版本的一个好问题可能是:

如果这是付费产品,客户是否会付费升级到这个较新的版本?

如果是这样,可能会增加主要数字。

MajorRelease.MinorRelease.Hotfix

版本号是任意的,但有一些规则(我认为)。非常小的变化或错误修正通常会增加0.0.1,即V1变为V1.0.1。功能的微小改变增加0.1.0,即V1.0.1变为V1.1.0。重大更改或重写会增加1.0.0,即V2。

也就是说,当类似的变化为0.1.0时,许多公司似乎试图通过上升1.0.0来说服客户。此外,一些依赖支持合同的公司将免费提供0.1.0更新,但收取1.0.0更新费用。

另外,IIRC,一些项目倾向于用奇数版本和稳定版本表示实验版本为偶数版本(因此V3很危险,V4稳定)。

对于库,版本号会告诉您两个版本之间的兼容性级别,因此升级会有多困难。

错误修复版本需要保留二进制,源代码和序列化兼容性。

次要版本对不同的项目意味着不同的东西,但通常他们不需要保持源兼容性。

主要版本号可以打破所有三种形式。

我写了更多关于这里的理由。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top