软件版本号定义
软件版本号定义
软件版本编号订定是指为软件设置版本号码的方式。通常,版本号码会以数字订定,但亦有不同的方式。
软件名称后面经常有一些英文和数字,如:QQ 2007 Beta,这些都是软件的版本标志,通过它,我们可以对软件的类型有所了解。
版本控制比较普遍的 3 种命名格式 :GNU 风格的版本号命名格式、Windows 风格的版本号命名格式、.Net Framework 风格的版本号命名格式。
上述源自百度百科,本篇以 GNU 风格为例。
定义
主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]]
Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
示例:1.2.1, 2.0, 5.0.0 build-13124
管理策略
- 项目初版本时,版本号可以为 0.1 或 0.1.0,也可以为 1.0 或 1.0.0,如果你为人很低调,我想你会选择那个主版本号为 0 的方式;
- 当项目在进行了局部修改或 bug 修正时,主版本号和子版本号都不变,修正版本号加 1;
- 当项目在原有的基础上增加了部分功能时,主版本号不变,子版本号加 1,修正版本号复位为 0,因而可以被忽略掉;
- 当项目在进行了重大修改或局部修正累积较多,而导致项目整体发生全局变化时,主版本号加 1;
- 编译版本号一般是编译器在编译过程中自动生成的,我们只定义其格式,并不进行人为控制。
举例
1.0→1.0.1→1.0.2→1.1→1.1.1→2.0→2.1→2.1.1b1→2.1.1b2→2.1.1→3.0rc→...
以上例子中:
- 1.0 至 1.0.1 至 1.0.2、1.1 至 1.1.1、2.1 至 2.1.1 都是小更新;
- 1.0.2 至 1.1、2.0 至 2.1 都是较大的更新;
- 1.1.1 至 2.0 和 2.1.1 至 3.0 则是重大更新。
小数版本号码后面会有“a”、“b”、“rc”等字样,代表某版本的测试版。“a”、“b”、“rc”分别代表“alpha”、“beta”和“release candidate”。
例如:
- “2.0a”是 2.0 的 alpha 测试版;
- 接着发布“2.0b1”,是 2.0 的第 1 个测试版;
- 跟着,又可能出现“2.0b2”,代表 2.0 的第 2 个 beta 测试版;
- 当 beta 测试完结后,又可能推出“2.0rc1”、“2.0rc2”两个版本,分别代表 2.0 的第一和第二个 release candidate 测试版;
- 当一切测试结束后,就会有“2.0”正式版。
简单总结
1.0.0
依次代表:主版本号、子版本号、阶段版本号。
- 主版本号:功能有了较大的改动,例如整体架构出现改变时;
- 子版本号:局部的变动造成程序和之前的版本不兼容或者功能上有了改进或增强;
- 阶段版本号:修复 bug 或小变动。