軟件版本命名規範 (GNU 風格)

GNU 風格的版本號命名格式

Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
主版本號.子版本號[.修正版本號[.編譯版本號]]

示例

  • 1.2.1html

  • 2.0web

  • 5.0.0.build-160217windows

約定

  • Major 具備相同名稱但不一樣主版本號的程序集不可互換。例如,這適用於對產品的大量重寫,這些重寫使得沒法實現向後兼容性安全

  • Minor 若是兩個程序集的名稱和主版本號相同,而次版本號不一樣,這指示顯著加強,但照顧到了向後兼容性。例如,這適用於產品的修正版或徹底向後兼容的新版本測試

  • Build 內部版本號的不一樣表示對相同源所做的從新編譯。這適合於更改處理器、平臺或編譯器的狀況ui

  • Revision 名稱、主版本號和次版本號都相同但修訂號不一樣的程序集應是徹底可互換的。這適用於修復之前發佈的程序集中的安全漏洞.net

程序集的只有內部版本號或修訂號不一樣的後續版本被認爲是先前版本的修補程序 (Hotfix) 更新。code

版本號管理策略

  1. 初始化項目時,版本號能夠爲 0.10.1.0,若是你比較高調的話,可使用 1.01.0.0htm

  2. 當項目進行了局部修改或 bug 修復時,主版本號子版本號 不變,修正版本號1blog

  3. 當項目在原有的基礎上增長了部分功能時,主版本號 不變,子版本號1,修正版本號復位爲 0

  4. 當項目進行了重大修改或局部修正累積較多而致使的項目總體發生變化,主版本號1子版本號修正版本號 復位爲 0

  5. 編譯版本號通常爲編譯器在編譯過程當中自動生成,只定義其格式,並不進行人爲控制

後綴

版本號後面還能夠加入如 Alpha, Beta, Gamma, Current, RC (Release Candidate), Release, Stable 等後綴,後綴後面還能夠加入一位數字的版本號。經常使用的後綴以下:

α

Alphal,內部測試版

該版本僅僅是一個初步完成品,一般只在軟件開發者內部交流,也有不多一部分發布給專業測試人員。通常而言,該版本軟件的 bug 較多,普通用戶最好不要安裝。

β

Beta,外部測試版

該版本相對於 α 版已有了很大的改進,消除了嚴重的錯誤,但仍是存在着一些缺陷,須要通過大規模的發佈測試來進一步消除。這一版本一般由軟件公司免費發佈,用戶可從相關的站點下載。經過一些專業愛好者的測試,將結果反饋給開發者,開發者們再進行有針對性的修改。該版本也不適合通常用戶安裝

γ

Gamma

該版本已經至關成熟了,與即將發行的正式版相差無幾,若是用戶實在等不及了,盡能夠裝上一試

RC

Release Candidate,發行候選版

該版本和 Beta 版最大的差異在於 Beta 階段會一直加入新的功能,可是到了 RC 版本,幾乎就不會加入新的功能了,而主要着重於除錯(該版本已經至關成熟了,基本上不存在致使錯誤的 bug,與即將發行的正式版相差無幾)。

R

Release,最終發行版

該版本意味「最終釋放版」,在出了一系列的測試版以後,終歸會有一個正式版本,對於用戶而言,購買或使用該版本的軟件絕對不會錯。該版本有時也稱爲標準版。通常狀況下,release 不會以單詞形式出如今軟件封面上,取而代之的是符號 (r) ,如 windows nt(r) 4.0, ms-dos(r) 6.22 等。

引用

相關文章
相關標籤/搜索