給開發者 – 制定軟體版號
作為開發者,對於使用外部軟體套件一定不陌生,有在持續維護的套件,每隔一段時間,就會因功能上的追加或問題修復,釋放出新版程式。在未探究前,我們可能只知道版本基本上是遞增的,似乎又有分大小號。但何時加小號,何時加大號,該如何判斷呢?總會有那麼一天,我們需要自行定義產品發布的版號,今天就一起來認識關於版號使用上常見的慣例與規則吧!
軟體版本的格式,現今最普遍的是如下三段版號
主版本號.子版本號.[修正版本號]
major.minor.[revision]
例如Magento目前最新版本為 2.4.2
主版本號的異動發生在重大更新,像是Magento1到Magento2,屬於整個架構的全局性改變,造成舊版號無法向後兼容,以客製專案來講,可以說是不可能直接沿用舊的客製程式去升級。
下一層的子版號,也可以有重大更新,但不同於主版本,他的異動是有顧到向後兼容性。例如Magento2.3升到2.4,其中一項變更是將產品搜尋引擎由Mysql轉至Elasticsearch,雖然這個更新在升級時需要額外安裝Elasticsearch,但由於系統基本框架不變,客製程式只需要就功能面有影響到的部分去修正即可。
再來最末的修正版本號,顧名思義,bug的修復或是小部分改善,就會歸在這個版次,這也是最頻繁推進的版號。
另外有時版本數字後會跟著英文字母,例如:
alpha – 簡寫a,表示為一個初步完成品,功能多數尚未通過專業測試,可能存有大量bug,屬於內測階段。
beta – 簡寫b,是a版的改進版,已消除重大錯誤,但仍須大規模的測試來進一步消除缺陷,通常會以免費方式放發布出來收集反饋,為公測階段。
release candidate – 簡寫rc,在經過公測後的修改,就會來到發布候選者階段。通常在alpha、beta、rc版中,會來回反覆多個版次,例如a1 > a2 > a3 > b1 > rc1 > b2 > rc2。
release – 正式版,在rc階段結束後,就會釋出最終版,主版本號會從1開始。
有了這些基本概念,我們立馬上 magento github 觀察其發布的版本歷程
https://github.com/magento/magento2/
可以看出,Magento2在正式版前歷經上百個alpha版,數十個beta版,從2.1到2.4,其修正版次在每個新的子版號下是銳減的,而且從2.3以後就略過rc版,這似乎也反應出其功能釋出的腳步變快。就在此時,2.5開發也在著手進行中呢!
了解版號代表的意義,除了自己開發的產品可以使用符合規則的正確版號,不至於讓其他開發者誤用:例如一個尚在測試中的軟體,少掉alpha標示,被當作正式版安裝,造成系統高機率出錯。此外自己在使用外部軟體資源時,也可以對安裝與升級版本有通盤的判斷,並不是最新就是最好,版本引發的風險與成本都要一併考量呢。
關於軟體版本,在實務上其實還有滿多有趣的變化策略,像Magento自己就多了p字母,代表security patch,大家不妨網路多查閱,作為自己版號策略的參考,我們下回見囉!
如果有您有更多疑問可以詢問我們,未來會撰寫更多電商網站相關文章,您想知道什麼嗎?歡迎在下方留言給我們。或追蹤我們的粉絲專頁及IG,就不會錯過最新文章喔!
我要留言