0x09 - 语义化版本

语义化版本是个什么鬼玩意

直接贴上文档,请参照文档来理解这份说明

简单来说,就是通过版本定义的名称来传达版本更新信息,常见的语义化版本像这样:

1
2
3
4
5
Version 2.0.1
Version 1.19.2 - Alpha.9
Version 1.0.0
Version 1.0.0 - rc.0
...

我们用 x.y.z 来代表这三个数。

从右往左,z 表示的是版本的修订号,只有程序在做了向下兼容的 修正 时才递增,例如修改一些 bug 或是对结果进行一定程度的改善。

第二个数字,y 表示的是次版本号,在出现新功能或者弃用公共 API,又或者是在有大量修订或者新代码加入时递增,例如新添加了一个功能性的接口或是实现了一项简单的功能。当次版本号递增时,修订号必须归零。同样的,次版本号更迭必须 保证向下的兼容

第三个数字,x 表示的是主版本号,只有当出现 不可兼容的修改被加入公共 API 时 才会交替更新,例如涉及底层的修改,或者某个部分代码的重构,也可以包括次版本号及修订级别的改变。当 x 递增时,y,z 也必须归零。