[同事文章] 软件项目版本号的命名格式

news/2024/7/5 5:59:20

软件项目版本号的命名格式

作者: lzlhero

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

  1. 当项目初版本时, 版本号可以为 0.1 或 0.1.0, 也可以为 1.0 或 1.0.0, 如果你为人很低调, 我想你会选择那个主版本号为 0 的方式;
  2. 当项目在进行了局部修改或 bug 修正时, 主版本号和子版本号都不变, 修正版本号加 1;
  3. 当项目在原有的基础上增加了部分功能时, 主版本号不变, 子版本号加 1, 修正版本号复位为 0, 因而可以被忽略掉;
  4. 当项目在进行了重大修改或局部修正累积较多, 而导致项目整体发生全局变化时, 主版本号加 1;
  5. 另外, 编译版本号一般是编译器在编译过程中自动生成的, 我们只定义其格式, 并不进行人为的控制.

Window 下的版本号管理策略

  1. 当项目初版时, 版本号为 1.0 或 1.00;
  2. 当项目在进行了局部修改或 bug 修正时,主版本号和子版本号都不变, 修正版本号加 1;
  3. 当项目在原有的基础上增加了部分功能时, 主版本号不变, 子版本号加 1, 修正版本号复位为 0, 因而可以被忽略掉;
  4. 当项目在进行了重大修改或局部修正累积较多, 而导致项目整体发生全局变化时, 主版本号加 1;
  5. 另外, 编译版本号一般是编译器在编译过程中自动生成的, 我们只定义其格式, 并不进行人为的控制.

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

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





http://www.niftyadmin.cn/n/3652266.html

相关文章

[转]一生成柱状图、横柱图、折线图的类

//在网上搜索到次类,使用之后,却是觉得强大,稍微修饰代码后贴上,供日后参考。/** * 文件:cal_image.class.php * 功能:产生柱状、折线图、横柱图类 * 作者:yemaosheng.com */Class ImageReport{…

Redis私房菜————|Redis持久化|Redis持久化|RDB持久化|AOF持久化

Redis1.Redis 高可用2.Redis 持久化2.1 RDB 持久化(1)触发条件手动触发自动触发其他自动触发机制(2)执行流程(3)启动时加载2.2 AOF 持久化(1) 开启AOF(2)执行…

[转]Siege:压力模拟/测试工具

Siege:压力模拟/测试工具作者:车东Siege(英文意思是围攻)是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户…

Redis私房菜————|Redis性能管理|String数据|List数据类型|散列类型

Redis1.Redis 性能管理1.1 查看Redis内存使用1.2 内存碎片率1.3 内存使用率1.4内回收key2.String数据类型2.1 set / get / append / strlen2.2 incr / decr / incrby / decrby2.3 getset2.4 setex2.5 setnx2.6 mset / mget / msetnx3.List数据类型3.1 lpush / lpushx / lrange3…

PHP代码美化工具

发现一款PHP代码美化工具:Beautify PHP。它能够优化PHP代码,让你很糟糕的PHP代码变的很整齐。有PHP文件版, 而且支持使用PEAR格式,或者C格式等代码格式。下载地址:http://sourceforge.net/project/showfiles.php?group_id65412在…

Redis私房菜————|Redis主从复制|哨兵模式|群集模式|详细图解|

Redis一、主从复制1.1 作用1.2 主从复制的流程1.3 搭建Redis主从复制1.3.1 安装Redis1.3.2 修改Redis配置文件1.3.3 验证主从效果二、哨兵模式2.1 作用及原理2.1.1 哨兵模式的作用2.1.2 哨兵模式的原理2.2 结构2.3 工作过程2.4 搭建哨兵模式2.4.1 修改哨兵配置文件[所有节点皆需…

Rsync私房菜————|Rsync远程同步 |Rsync下行同步|Rsync+Inotify实时同步 |详细图解|

Rsync一、Rsync1.1 Rsync特性1.2 部署Rsync下行同步1.2.1 Master节点1.2.2 Slave节点赋予权限并后台运行创建一个新的文件并删除一个已有的文件一、Rsync Rsync是一种快速且用途广泛的文件复制工具,常用于备份和镜像 官方网站:https://rsync.samba.org/…

PHP做Web项目的优缺点

再CSDN的论坛上,有一网友说道类似问题,他们的项目考虑使用PHP来做,我进行了回复,描述了PHP做Web项目的有点,同时也考虑到PHP跟ASP.net的对比,参考文后的连接。PHP的优点:1. 跨平台,性…