怎么区分版本号高低(如何看懂版本号)

版本号是软件行业一定会用到的,开发团队每发布一个版本就需要确定版本号,使用开源框架也需要知道使用框架的版本号。

为什么会需要版本号呢?有些团队可能并不知道版本号的意义,只是出于惯例给版本确定版本号,版本号的定义也是各种各样,我见过直接使用年月日的组合来定义版本号的,这里要针对在开源领域广泛使用的语义化版本 2.0.0 | Semantic Versioning (https://semver.org/lang/zh-CN/))进行介绍。

为什么需要版本号?

版本号其实就是一套规范,相信大家都了解过“打死不改版”命名,我在一家通信设计院上班时还真看到有同事就是这么对付甲方不断修正设计文档的要求的,这对当事人算得上一个噩梦吧。

怎么区分版本号高低(如何看懂版本号)(1)

在庞大的软件系统中,不可避免的会产生非常多的依赖,如果没有合理的版本管理很快就会陷入“依赖地狱”,语义化版本规范就是为了解决“依赖地狱”而产生的。

版本格式

X . Y . Z - alpha.beta

x-主版本号:当做了不兼容的API修改,递增x

y-次版本号:当你做了向下兼容的功能性新增,递增y

z-修订号:当你做了向下兼容的问题修正,递增z

先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸,示例中alpha.beta就是一种先行版本号的示例,它不是必须要求的。

对照看下python的版本号,3是主版本号,9是次版本号,1是修订号

怎么区分版本号高低(如何看懂版本号)(2)

规范关键要点
  • 标准的版本号必须采用 X.Y.Z 的格式,其中 X、Y 和 Z 为非负的整数,且禁止在数字前方补零。
  • 版本发布后,任何修改都必须采用新的版本号。
  • 主版本号为零(0.y.z)的软件处于开发初始阶段,一切都可能随时被改变。这样的软件不应该视为稳定版。
  • 主版本号X在有任何不兼容的修改被加入公共 API 时递增,每当主版本号递增时,次版本号和修订号必须(MUST)归零。

主版本号的改变意味前后版本不再兼容,影响往往是巨大的,比如python2转向python3跨越了数年时间,至今仍有很多项目使用python2.

作为一位负责任的开发者,你理当确保每次包升级的运作与版本号的表述一致

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页