很多朋友在安裝軟體的時候都會注意到軟體下方一行意義不明的版本號,有的軟體會用x.x.x邏輯命名版本號,有的軟體則是x.x.x.x,而windows系統的版本號例如1803就更讓人摸不到頭腦了,那麼這些版本號的意義是什麼?他們的命名邏輯又是什麼?
其實軟體版本號有著比較統一的命名邏輯,大概分為幾類,首先我們需要將各類版本號的英文邏輯和數字邏輯解釋一下,之後才能方便筆者給大家普及各種版本號的意思,如果不想看晦澀難懂的介紹或者早已知道版本號邏輯可以直接跳到文章後面。
首先軟體邏輯大致分為三種:GUN、windows和.net風格,先說GUN風格,它的風格特點就是三段式命名並經常會出現bulid字樣,邏輯為「主版本號.子版本號.後期修復版本號,而build字樣則代表著編譯版本號,都是什麼意思呢?主版本號很簡單,就是一個軟體的大版本,一旦主版本號出現了變動就代表著這個軟體的代碼經過了大量改動,已經算得上是半個新產品了,我們常用的軟體一旦進行大版本更新都會在命名上故意提一嘴,例如從前的迅雷7、迅雷8,其主版本號也是7和8。
子版本號的意思就是大版本沒有變,但是軟體開發者對軟體性能、兼容性和功能等進行了加強,雖然軟體還是那個大版本的軟體但是已經好用了很多,同時多個子版本號下的軟體是可以平行兼容的,比如我們使用QQ,有語音QQ紅包功能的大版本不能和從前沒有這個功能的大版本兼容,老版本並不能接受到這個紅包,但同為擁有語音紅包的大版本下,兩個不同子版本的QQ就能夠互相兼容。
後期修復版本號呢?其實在專業術語上叫做修正版本號,主要就是為了告訴其他人「我的軟體已經修復了漏洞「,這個版本號的目的就是為了展現自己已經針對性修復了漏洞,我們使用Android手機時一些軟體隔三差五就更新,原因就是不停的修復之前出現的漏洞和BUG,我們舉個例子,如果一款軟體的版本號為3.11.2,那麼後續推出的3.11.3就是為了修復BUG和漏洞,你如果沒有察覺到任何問題完全可以不升級,不會對你的使用造成任何影響。
最後就是編譯版本號,這個版本號經常出現在windows系統的版本號上,這個bulid也可以叫做內部版本號,這個版本號主要是針對內部人員開發提供便利的,後面的數字往往沒有實際邏輯,只是為了給這個內部版本一個代碼;內部版本號往往出現在內部多CPU、多平臺和多編譯器測試中,它的出現大多數情況下代表了它只是大版本中的一個非完全體測試版。
說完了GUN風格,我們來說下windows風格,其實windows風格版本號是我們接觸最多的版本號邏輯,它的邏輯和GUN邏輯幾乎是完全一樣,只不過內部版本號的bulid前綴被去掉,滿號段狀態下同樣為四段式邏輯,我們使用的安卓軟體大多數採用這種邏輯,例如抖音現在的3.8.0版本號、高德地圖的8.80.0.2855、美團的9.10.802都是這個邏輯下的版本號。
最後就是.net命名風格,其實這個風格用的不是很多,顧名思義主要是用在.net framework上,邏輯就是將windows風格版本號的build nunber和revision number倒過來,比如高德的8.80.0.2855在.net邏輯下就應該稱作8.80.2855.0,其實區別沒有多少。
說完了這三種邏輯筆者來總結一下,版本號無非就是大版本號(必須更新).子版本號(建議更新).修正版本號(可以更新如果你想的話).內部版本號(完全看心情,沒啥必要),當然很多軟體還會搞出一些英文摻雜在裡面,比如beta、Dev、Alpha、Preview等,這些英文在版本號中的含義就和它自己本身的意思是一樣的,Beta就是公測版本,不論你在軟體還是遊戲上都能看到Beta的身影,看到的話不用想肯定是公測;Alpha就是內測,遊戲軟體依然能見到;Preview就是預覽版,意思是「我們這個軟體雖然開始測試了,但還不穩定,你們下載之後先看看,好不好用你反饋給我,有問題我再改」,例如今天Blibili在安卓端推送的預覽版就是這樣,版本號為5.35.7-preview;而Dev我們普通用戶一般是接觸不到的,因為這個後綴代表著「該軟體還不能拿來測試,是給開發者專用的,不是正常用戶用的」。
除此之外很多軟體都會在版本號上加入一些英文,但數字的邏輯風格無非GUN和windows兩種,感興趣的朋友可以看一下自己手機或者電腦的軟體版本號,不過有更新的話還是儘量更新,畢竟更新終歸是好的,軟體公司不會傻到把軟體倒退。