軟件版本號規(guī)范與命名原則(node.js與package.json依賴包規(guī)范)
文章目錄
1、軟件版本號
2、版本號的修飾詞
3、大廠常用的版本號
4、版本號的階段標識
5、(node.js中的)^和~區(qū)別
1、軟件版本號
一般來講大部分的軟件版本號分3段,比如 A.B.C
A 表示大版本號,一般當軟件整體重寫,或出現(xiàn)不向后兼容的改變時,增加A,A為零時表示軟件還在開發(fā)階段。
B 表示功能更新,出現(xiàn)新功能時增加B
C 表示小修改,如修復bug,只要有修改就增加C
2、版本號的修飾詞
日期版本號:表示發(fā)布日期
alpha: 內部測試版,bug較多,主要是修改和實現(xiàn)功能
beta: 測試版,大部分bug已修,主要是修改UI和小bug等
rc: 即將作為正式版發(fā)布
lts: 長期維護
release版: 該版本意味“最終版本”,在前面版本的一系列測試版之后,終歸會有一個正式版本,是最終交付用戶使用的一個版本。該版本有時也稱為標準版。
3、大廠常用的版本號
微軟
RC(Release Candidate):候選版本,這一版本不會增加新功能,多要進行Debug
GA(General Available):正式發(fā)布版本,這個版本就是正式的版本
RTM(Release to Manufacture):給工廠大量生產的壓片版本,與正式版內容一樣
OEM(Original Entrusted Manufacture):給計算機廠商的出場銷售版本,不零售只預裝
RVL:號稱是正式版,其實RVL根本不是版本的名稱。它是中文版/英文版文檔破解出來的
EVAL:而流通在網(wǎng)絡上的EVAL版,與“評估版”類似,功能上和零售版沒有區(qū)別
RTL(Retail):零售版是真正的正式版,正式上架零售版
谷歌與chrome
GM(Gold Master):正式版前最后一個測試版,其實也就是正式版
Chromium:開源版本,迭代速度極快,數(shù)小時就會有新版本,有很多新功能,等待驗證后會移植到Chrome
Canary:迭代速度相對于Chromium版稍慢一些,功能非常新但未經過驗證,同時崩潰的概率非常高
Dev:基于Chromium開發(fā),每周出新功能,并且這些功能還有一定的篩選,另外還修復了一些Bug和不穩(wěn)定因素
Beta:基于Dev版,Chrome會基于這一版本進行改進,一般按月更新,功能更加完善
Stable:穩(wěn)定版本,也就是Chrome的正式版本,這一版本基于Beta版,已知Bug都被修復,一般情況下,更新比較慢
4、版本號的階段標識
軟件的每個版本中包括11個階段,詳細階段描述如下:
5、(node.js中的)^和~區(qū)別
當我們查看項目配置文件package.json中已安裝的庫的時候,會發(fā)現(xiàn)他們的版本號之前都會加一個符號,有的是插入符號(^),有的是波浪符號(~)
當使用npm install 安裝包時,默認會在包的版本號前面添加^符號
當在包的版本號前面插入波浪符號~時,表示當更新包時,鎖定次版本,將補丁版本更至最新;例如 ~1.15.2 ,表示 >=1.15.2 && <1.16.0;
當在包的版本號前面插入符號^時,表示當更新包時,鎖定主版本,將次版本更到最新;例如 \ ^3.3.4 ,表示 >=3.3.4 && <4.0.0
JavaScript JSON Node.js
版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。