软件版本号规范与命名原则(node.js与package.json依赖包规范)
Posted 小哈里
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件版本号规范与命名原则(node.js与package.json依赖包规范)相关的知识,希望对你有一定的参考价值。
文章目录
1、软件版本号
一般来讲大部分的软件版本号分3段,比如 A.B.C
- A 表示大版本号,一般当软件整体重写,或出现不向后兼容的改变时,增加A,A为零时表示软件还在开发阶段。
- B 表示功能更新,出现新功能时增加B
- C 表示小修改,如修复bug,只要有修改就增加C
2、版本号的修饰词
- 日期版本号:表示发布日期
- alpha: 内部测试版,bug较多,主要是修改和实现功能
- beta: 测试版,大部分bug已修,主要是修改UI和小bug等
- rc: 即将作为正式版发布
- lts: 长期维护
- release版: 该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。该版本有时也称为标准版。
3、大厂常用的版本号
微软
RC(Release Candidate):候选版本,这一版本不会增加新功能,多要进行Debug
GA(General Available):正式发布版本,这个版本就是正式的版本
RTM(Release to Manufacture):给工厂大量生产的压片版本,与正式版内容一样
OEM(Original Entrusted Manufacture):给计算机厂商的出场销售版本,不零售只预装
RVL:号称是正式版,其实RVL根本不是版本的名称。它是中文版/英文版文档破解出来的
EVAL:而流通在网络上的EVAL版,与“评估版”类似,功能上和零售版没有区别
RTL(Retail):零售版是真正的正式版,正式上架零售版
谷歌与chrome
GM(Gold Master):正式版前最后一个测试版,其实也就是正式版
Chromium:开源版本,迭代速度极快,数小时就会有新版本,有很多新功能,等待验证后会移植到Chrome
Canary:迭代速度相对于Chromium版稍慢一些,功能非常新但未经过验证,同时崩溃的概率非常高
Dev:基于Chromium开发,每周出新功能,并且这些功能还有一定的筛选,另外还修复了一些Bug和不稳定因素
Beta:基于Dev版,Chrome会基于这一版本进行改进,一般按月更新,功能更加完善
Stable:稳定版本,也就是Chrome的正式版本,这一版本基于Beta版,已知Bug都被修复,一般情况下,更新比较慢
4、版本号的阶段标识
软件的每个版本中包括11个阶段,详细阶段描述如下:
阶段名称 | 阶段标识 |
---|---|
需求控制 | a |
设计阶段 | b |
编码阶段 | c |
单元测试 | d |
单元测试修改 | e |
集成测试 | f |
集成测试修改 | g |
系统测试 | h |
系统测试修改 | i |
验收测试 | j |
验收测试修改 | k |
5、(node.js中的)^和~区别
当我们查看项目配置文件package.json中已安装的库的时候,会发现他们的版本号之前都会加一个符号,有的是插入符号(^),有的是波浪符号(~)
- 当使用npm install 安装包时,默认会在包的版本号前面添加^符号
- 当在包的版本号前面插入波浪符号~时,表示当更新包时,锁定次版本,将补丁版本更至最新;例如 ~1.15.2 ,表示 >=1.15.2 && <1.16.0;
- 当在包的版本号前面插入符号^时,表示当更新包时,锁定主版本,将次版本更到最新;例如 \\ ^3.3.4 ,表示 >=3.3.4 && <4.0.0
以上是关于软件版本号规范与命名原则(node.js与package.json依赖包规范)的主要内容,如果未能解决你的问题,请参考以下文章