软件版本号的知识

请注意,本文编写于 3632 天前,最后修改于 177 天前,其中某些信息可能已经过时。

  自己的无知啊!不知道怎么去定义软件的版本号,就乱给jremind定了一个。



好好学习一下版本的定义规则。



  为了维护软件项目, 我们提出了对版本进行管理控制的要求. 而对于用户来说, 版本直接体现在版本号的命名上. 那么, 如何对版本号进行命名呢? 我查了许多的资料, 希望能解释得比较具体, 同时也希望您在阅读本文的时候, 能够对版本号的命名格式提出自己的见解, 这当然包括一些版本号命名的个例. 下面, 让我们看一下比较普遍的 3 种命名格式.



  GNU 风格的版本号命名格式: 主版本号.子版本号[.修正版本号[.编译版本号]]



  英文对照: Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]



  示例: 1.2.1, 2.0, 5.0.0 build-13124



  Windows 风格的版本号命名格式: 主版本号.子版本号[修正版本号[.编译版本号]]



  英文对照: Major_Version_Number.Minor_Version_Number[Revision_Number[.Build_Number]]



  示例: 1.21, 2.0



  .Net Framework 风格的版本号命名格式: 主版本号.子版本号[.编译版本号[.修正版本号]]



  英文对照: Major_Version_Number.Minor_Version_Number[.Build_Number[.Revision_Number]]



  官方说明参考:



  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemVersionClassTopic.asp



  由于, 有官方解释, 所以本文不做说明.



  GNU 风格的版本号管理策略



  当项目初版本时, 版本号可以为 0.1 或 0.1.0, 也可以为 1.0 或 1.0.0, 如果你为人很低调, 我想你会选择那个主版本号为 0 的方式;



  当项目在进行了局部修改或 bug 修正时, 主版本号和子版本号都不变, 修正版本号加 1;



  当项目在原有的基础上增加了部分功能时, 主版本号不变, 子版本号加 1, 修正版本号复位为 0, 因而可以被忽略掉;



  当项目在进行了重大修改或局部修正累积较多, 而导致项目整体发生全局变化时, 主版本号加 1;



  另外, 编译版本号一般是编译器在编译过程中自动生成的, 我们只定义其格式, 并不进行人为的控制.



  Window 下的版本号管理策略



  当项目初版时, 版本号为 1.0 或 1.00;



  当项目在进行了局部修改或 bug 修正时,主版本号和子版本号都不变, 修正版本号加 1;



  当项目在原有的基础上增加了部分功能时, 主版本号不变, 子版本号加 1, 修正版本号复位为 0, 因而可以被忽略掉;



  当项目在进行了重大修改或局部修正累积较多, 而导致项目整体发生全局变化时, 主版本号加 1;



  另外, 编译版本号一般是编译器在编译过程中自动生成的, 我们只定义其格式, 并不进行人为的控制.



  另外, 还可以在版本号后面加入 Alpha, Beta, Gamma, Current, RC (Release Candidate), Release, Stable 等后缀, 在这些后缀后面还可以加入 1 位数字的版本号.



  对于用户来说, 如果某个软件的主版本号进行了升级, 用户还想继续那个软件, 则发行软件的公司一般要对用户收取升级费用; 而如果子版本号或修正版本号发生了升级, 一般来说是免费的.

← 上一篇 下一篇 →
Comments

添加新评论