软件版本号命名规范1.0.0.1什么意思_医疗器械软件版本号命名规范(腾讯软件中心)
軟件版本號命名規范
- 總原則
- 標準的版本號必須采用XYZ的格式,并且X、Y 和 Z 為非負的整數,禁止在數字前方補零
- 版本是嚴格遞增的,此處是:16.2.0 -> 16.3.0 -> 16.3.1
- 在發布重要版本時,可以發布alpha, rc等先行版本
- alpha和rc等修飾版本的關鍵字后面可以帶上次數和meta信息
- 版本的優先層級指的是不同版本在排序時如何比較。判斷優先層級時,必須把版本依序拆分為主版本號、次版本號、修訂號及先行版本號后進行比較。
- 軟件版本階段說明
- Alpha版: 此版本表示該軟件在此階段主要是以實現軟件功能為主,通常只在軟件開發者內部交流,一般而言,該版本軟件的Bug較多,需要繼續修改。
- Beta版: 該版本相對于α版已有了很大的改進,消除了嚴重的錯誤,但還是存在著一些缺陷,需要經過多次測試來進一步消除,此版本主要的修改對像是軟件的UI。
- RC版: 該版本已經相當成熟了,基本上不存在導致錯誤的BUG,與即將發行的正式版相差無幾。
- Release版: 該版本意味“最終版本”,在前面版本的一系列測試版之后,終歸會有一個正式版本,是最終交付用戶使用的一個版本。該版本有時也稱為標準版。一般情況下,Release不會以單詞形式出現在軟件封面上,取而代之的是符號?。
- 版本命名規范
第一種:
軟件版本號由四部分組成:<主版本號><子版本號><階段版本號><日期加希臘字母版本號>
*注意:* 希臘字母版本號共有5種,分別為:base、alpha、beta、RC、release。例如:1.1.1.051021_beta
第二種:
常規:完全的版本號定義,分三項:<主版本號>.<次版本號>.<修訂版本號>,如 1.0.0
- 版本號定修改規則
-
主版本號:當功能模塊有較大的變動,比如增加多個模塊或者整體架構發生變化。此版本號由項目決定是否修改。
例如:當你做了不兼容的 API 修改 -
子版本號:當功能有一定的增加或變化,比如增加了對權限控制、增加自定義視圖等功能。此版本號由項目決定是否修改。
例如:當你做了向下兼容的功能性新增,可以理解為Feature版本 -
階段版本號:一般是 Bug 修復或是一些小的變動,要經常發布修訂版,時間間隔不限,修復一個嚴重的bug即可發布一個修訂版。此版本號由項目經理決定是否修改。
例如:當你做了向下兼容的問題修正,可以理解為Bug fix版本。 -
日期版本號:用于記錄修改項目的當前日期,每天對項目的修改都需要更改日期版本號。此版本號由開發人員決定是否修改。
-
希臘字母版本號:此版本號用于標注當前版本的軟件處于哪個開發階段,當軟件進入到另一個階段時需要修改此版本號。此版本號由項目決定是否修改。
-
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
-
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 等等)
總結
以上是生活随笔為你收集整理的软件版本号命名规范1.0.0.1什么意思_医疗器械软件版本号命名规范(腾讯软件中心)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数仓分层理论_多元分层理论
- 下一篇: 成为一名CV(计算机视觉)工程师,你需要