返回列表 新主題
假如 Google Chrome 推出 v40.0 版本, 然後進行小更新, 一直由 v40.1 ... 更新至 v40.9, 那下一個版本會是多少?
如果你答 v41.0 的話, 0 分!

如果只以 Major 和 Minor 來計算的話, 下一個版本應該是 v40.10!
不, 這不就等同 v40.1? 小數後的 0 可以簡化的嘛!

你沒錯, 如果你從純粹數學上的角度來看的話 ...
但在軟件版本的角度, 並不是這樣用整數和小數去計算。

如前述所說, 版本號有分 Major 和 Minor, 有時會加入更少的版本號或者 Build 號碼。
如何分 Major 和 Minor? 其實就是整數和小數點的數字。
每當一個全新版本 / 大量新功能加入的時候, 版本的 Major 就會 +1 (部份軟件會因一些原因連跳數個版本)
但只要一跳 Major, Minor 一般都會是 0

Minor 只是有小更新 (或者一個小功能, 或更新一個功能的屬性) 的時候才加。
因此雖然 Major 和 Minor 兩者會互相影響數值, 但終究還是兩組獨立處理加數的數字。
所以 v40.9 之後會是 v40.10, 而 v40.99 之後會是 v40.100 ...
當然一個軟件很難會有小更新 100 次才有一次大規模更新, 大家已經很少見到雙位數的 Minor, 更加不用說三位數。

至於 Build 版本號碼, 就是程式碼有更新 (例如優化程式碼, 除錯又沒有小更新, 才會增加 Build 版本號碼)
同樣地, 有 Minor 或者 Major 更新的時候, 這個 Build 版本號碼也會歸零, 但和 Minor 不同, 這個 Build 版本號碼可以簡化或隱藏。
有一些軟件喜歡 Build 版本號永無止境地加上去, 由程式開始設計的一刻計算

而亦有一些軟件設計師會覺得每次更新 Build 版本號, 總會有一次計錯數或計漏 (因為軟件總是有 Bug ...)
有時 Build 版本號碼會被 Release Date 代替 (一般格式是 v40.1.20150316 或者 v40.1 R20150316)。
但 Release Date 一般不會被隱藏, 其實有軟件是同時存在 Build 版本和 Release Date 的。

一般推出正式版的時候才會用 1.0, 如果還是測試版, Major 應該編為 0, 只更新 Minor 和 Build。
版本號碼不可後退, 如果一個軟件決定不用 0.x 作為 Beta 認定, 應該在版本號後面加入 Alpha / Beta / RC 等字樣。

... 這只是常規的軟件版本編號, 有一些軟件不喜歡這種做法。


最常見的就是 Microsoft Windows。
Windows 一開始亦有根據上面的方式排序版本號, 但後來就按年分排例: Windows 95, 98, 2000
後來又直接命名: XP, Vista
最後又變回數字: 7, 8, 8.1, 10 ...

雖然有一段時間是直接命名, 但其實 Windows 還有一個名為 Windows NT 的版本號碼, 那個才是真正的 Windows 版本。
例如 Windows 2000 = NT 4.0, XP = 5.1, Vista = 6.0, Win7 = 6.1, Win8 = 6.2, Win8.1 = 6.1 ...
而今年推出的 Windows 10 稱為 NT 6.4

而那個版本也是乖乖的按數字排序。

另外又會有一些軟件用年份和月份來排序, 那個就是 Ubuntu。
Ubuntu 的 Major 是推出的年份, Minor 是推出的月份, 所以 2100 會 ... ?
到時再算吧 ...



返回列表