起因
相信各位刚刚入门的开发的兄弟姐妹萌,一定为这个烦恼过。比如,在开发java的时候开启一个maven项目,里面就会让你填版本号,如果你不填。他会自动填上1.0.0.snapshot
。
还有在下载某些库的时候我们一定会看它的版本,选择一个稳定版。但由于版本号后面有时候会跟随着stable,或者有下载量这个东西,人多我就下那个。大家通常都会忽略版本号的套路,下就完事了。
但是时间久了,我还是想知道后面的英文代表啥意思,本着搞清楚自己所用东西的精神,我来总结一下。
正文
我们现在maven repository里面随便搜索一个库
![def147e5eac9d47aecf5d8458d2a9300.png](https://i-blog.csdnimg.cn/blog_migrate/1208fe4cadf7f13778732d9fb0c93717.jpeg)
Beta
可以看到上图里面版本号后面带的Beta
, RC
等英文,Beta
想必大家都有印象,在玩游戏时。游戏厂商一般会开放一个游戏之前,找一批业余玩家来给他内测资格,帮助他们测试游戏。而Beta
的含义如同所说的,版本号后面带着Beta
就说明,软件功能已经完成,但是仍有问题需要有人来测试,一般不对外发布或者推荐开发者使用。
Alpha
你看到Beta
一定会说,是不是还有Alpha
,Omega
,是的Alpha
是有的,但是一般没有Omega
(如果老板说有那就是有)。
Alpha
作为Beta
之前的版本,只是作为一个只有大部分功能做好,并且存在有错误的版本。
而Alpha
之前其实还可以算作pre-Alpha
,pre-Alpha
就是一个功能不完全,不知道有什么错误,就跟走到处都埋着地雷的地方似的。
RC(Release Candidate)
RC
版本号如其名,发布候选,功能全部完成,可能会存在微小的bug,可以作为发布的候选,一般会有两个RC1
, RC2
, 通常RC2
会作为正式版本发布。
Snapshot
Snapshot
也如同其名字,快照,能够马上投入使用,但是需要持续改进的版本。
Release
正式版,可以开放给用户正常使用。
数字版本号
搞清楚了数字后面的英文缩写,现在来看看前面的数字有哪些门道。
一般大家都会看到1.x
或者1.xx.xxx.Beta
这种版本号,这种数字的版本号1.xx.xxx
里的1
是major
号,一般重大更新会更新major
号.xx
或者.xx.xxx
称为minor
或者build
号,在一些比较小的更新上会改变minor
号。而beta
就是上文说道的开发到了那个阶段。
总的来说,前面的数字表示你更新了多少次,更新的规模,后面结尾的英文表示你是在开发的那个阶段。
列子(wiki上的例子)
1.0→1.0.1→1.0.2→1.1→1.1.1→2.0→2.1→2.1.1→3.0→…
以上例子中,1.0至1.0.1至1.0.2、1.1至1.1.1、2.1至2.1.1都是小更新;1.0.2至1.1、2.0至2.1都是较大的更新;而1.1.1至2.0和2.1.1至3.0则是重大更新。
比较特殊的版本号
日期
有些版本号就会在1.x.20191213
类似于这种,20191213
作为发布版本号
![f7ff8d484c7fde713eb80f707876d73e.png](https://i-blog.csdnimg.cn/blog_migrate/8f39041faad23634edeef3e5103ae26a.jpeg)
特殊英文简写
还记得我当初第一次下ubuntu第一次看到LTS
这个缩写,我一直以为是latest
的缩写,直到今天才知道是Long support term
的意思
![234c9197655b9205bc2fbf83d640ba0c.png](https://i-blog.csdnimg.cn/blog_migrate/3f5497aad630a9fb366b443e204e5c3c.jpeg)
数学符号
还有更奇特就是用数学符号π
来当版本号,当圆周率位数越长,版本就越趋近某个版本目标