一个计算机技术爱好者与学习者

0%

软件版本号命名规则

1. 软件版本号有没有什么标准?

项目在发行时,肯定需要一个版本号,那么这个版本号应该遵循什么样的标准呢?
语义化版本(Semantic Versioning semver)版本号,是一个在开源社区中广泛接受的标准,详情参考Semantic Versioning Specification

2. SemVer 的版本格式

版本格式:主版本号.次版本号.修订号(MAJOR.MINOR.PATCH),版本号递增规则如下:

主版本号:当你做了不兼容的 API 修改
次版本号:当你做了向下兼容的功能性新增
修订号:当你做了向下兼容的问题修正

先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。

3. 补充

此外,百度经验中有一篇软件版本命名规范的文章,写的也很不错,摘录如下。

软件版本号有四部分组成,第一部分为主版本号,第二部分为次版本号,第三部分为修订版本号,第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有五种,分别为base、alpha、beta 、RC 、 release。

版本号修改规则:

  • 主版本号:当功能模块有较大的变动,比如增加模块或是整体架构发生变化。此版本号由项目决定是否修改。

  • 次版本号:相对于主版本号而言,次版本号的升级对应的只是局部的变动,但该局部的变动造成程序和以前版本不能兼容,或者对该程序以前的协作关系产生了破坏,或者是功能上有大的改进或增强。此版本号由项目决定是否修改。

  • 修订版本号:一般是Bug的修复或是一些小的变动或是一些功能的扩充,要经常发布修订版,修复一个严重 Bug 即可发布一个修订版。此版本号由项目经理决定是否修改。

  • 日期版本号:用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。此版本号由开发人员决定是否修改。

  • 希腊字母版本号:此版本号用于标注当前版本的软件处于哪个开发阶段,当软件进入到另一个阶段时需要修改此版本号。此版本号由项目决定是否修改。

上一级有变动时,下级要归零。

软件版本阶段说明:

  • Base:此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构。

  • Alpha:软件的初级版本,表示该软件在此阶段以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改,是测试版本。测试人员提交Bug经开发人员修改确认之后,发布到测试网址让测试人员测试,此时可将软件版本标注为alpha版。

  • Beta:该版本相对于Alpha版已经有了很大的进步,消除了严重错误,但还需要经过多次测试来进一步消除,此版本主要的修改对象是软件的UI。修改的Bug经测试人员测试确认后可发布到外网上,此时可将软件版本标注为 beta版。

  • RC:该版本已经相当成熟了,基本上不存在导致错误的Bug,与即将发行的正式版本相差无几。

  • Release:该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式的版本,是最终交付用户使用的一个版本。该版本有时也称标准版。