軟件版本號命名規範

軟件版本號命名規範

  1. 總原則
  • 標準的版本號必須採用XYZ的格式,並且X、Y 和 Z 爲非負的整數,禁止在數字前方補零
  • 版本是嚴格遞增的,此處是:16.2.0 -> 16.3.0 -> 16.3.1
  • 在發佈重要版本時,可以發佈alpha, rc等先行版本
  • alpha和rc等修飾版本的關鍵字後面可以帶上次數和meta信息
  • 版本的優先層級指的是不同版本在排序時如何比較。判斷優先層級時,必須把版本依序拆分爲主版本號、次版本號、修訂號及先行版本號後進行比較。
  1. 軟件版本階段說明
  • Alpha版: 此版本表示該軟件在此階段主要是以實現軟件功能爲主,通常只在軟件開發者內部交流,一般而言,該版本軟件的Bug較多,需要繼續修改。
  • Beta版: 該版本相對於α版已有了很大的改進,消除了嚴重的錯誤,但還是存在着一些缺陷,需要經過多次測試來進一步消除,此版本主要的修改對像是軟件的UI。
  • RC版: 該版本已經相當成熟了,基本上不存在導致錯誤的BUG,與即將發行的正式版相差無幾。
  • Release版: 該版本意味“最終版本”,在前面版本的一系列測試版之後,終歸會有一個正式版本,是最終交付用戶使用的一個版本。該版本有時也稱爲標準版。一般情況下,Release不會以單詞形式出現在軟件封面上,取而代之的是符號®。
  1. 版本命名規範
    第一種:
    軟件版本號由四部分組成:<主版本號><子版本號><階段版本號><日期加希臘字母版本號>

*注意:* 希臘字母版本號共有5種,分別爲:base、alpha、beta、RC、release。例如:1.1.1.051021_beta

第二種:
常規:完全的版本號定義,分三項:<主版本號>.<次版本號>.<修訂版本號>,如 1.0.0

  1. 版本號定修改規則
  • 主版本號:當功能模塊有較大的變動,比如增加多個模塊或者整體架構發生變化。此版本號由項目決定是否修改。
    例如:當你做了不兼容的 API 修改

  • 子版本號:當功能有一定的增加或變化,比如增加了對權限控制、增加自定義視圖等功能。此版本號由項目決定是否修改。
    例如:當你做了向下兼容的功能性新增,可以理解爲Feature版本

  • 階段版本號:一般是 Bug 修復或是一些小的變動,要經常發佈修訂版,時間間隔不限,修復一個嚴重的bug即可發佈一個修訂版。此版本號由項目經理決定是否修改。
    例如:當你做了向下兼容的問題修正,可以理解爲Bug fix版本。

  • 日期版本號:用於記錄修改項目的當前日期,每天對項目的修改都需要更改日期版本號。此版本號由開發人員決定是否修改。

  • 希臘字母版本號:此版本號用於標註當前版本的軟件處於哪個開發階段,當軟件進入到另一個階段時需要修改此版本號。此版本號由項目決定是否修改。

  1. npm包依賴
    當執行npm install package -S 來安裝三方包時,npm 會首先安裝包的最新版本,然後將包名及版本號寫入到 package.json 文件中。
    比如,通過npm 安裝 react 時:
    { "dependencies": { "react": "~16.2.0" } }
    複製代碼項目對包的依賴可以使用下面的 3 種方法來表示(假設當前版本號是 16.2.0):

    • 兼容模塊新發布的補丁版本:~16.2.0、16.2.x、16.2
    • 兼容模塊新發布的小版本、補丁版本:^16.2.0、16.x、16
    • 兼容模塊新發布的大版本、小版本、補丁版本:*、x
  2. npm包發佈
    通常我們發佈一個包到npm倉庫時,我們的做法是先修改 package.json 爲某個版本,然後執行 npm publish 命令。手動修改版本號的做法建立在你對Semver規範特別熟悉的基礎之上,否則可能會造成版本混亂。npm 考慮到了這點,它提供了相關的命令來讓我們更好的遵從Semver規範:

    • 升級補丁版本號:npm version patch
    • 升級小版本號:npm version minor
    • 升級大版本號:npm version major

    當執行 npm publish 時,會首先將當前版本發佈到 npm registry,然後更新 dist-tags.latest 的值爲新版本。

    當執行 npm publish --tag=next 時,會首先將當前版本發佈到 npm registry,並且更新 dist-tags.next 的值爲新版本。這裏的 next 可以是任意有意義的命名(比如:v1.x、v2.x 等等)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章