软件版本号规范与命名原则(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依赖包规范)的主要内容,如果未能解决你的问题,请参考以下文章

APP版本号命名规范及原则

软件的版本号变更有啥原则?

软件开发规范三软件版本命名规范

软件开发规范三软件版本命名规范

青训营Node.js基础 - 特点 - 模块化CommonJS&ESM - npm包管理

青训营Node.js基础 - 特点 - 模块化CommonJS&ESM - npm包管理