软件版本号命名规范

软件版本号命名规范

  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 等等)

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
gjb(国际机场建设标准组织)关于软件版本号命名规则没有具体的规定或标准,因为软件版本号的命名规则并非gjb的核心业务范围。软件版本号的命名规则多是由软件开发者或公司自行决定和使用的。然而,通常情况下,软件版本号的命名规则遵循一定的常规和约定。以下是一种常见的软件版本号命名规则示例: 主版本号.次版本号.修订版本号 1. 主版本号:当软件进行重大升级或重写时,增加主版本号。通常表示出现了较大的功能改进或架构变,可能会引入不兼容的新特性或影响系统的稳定性。 2. 次版本号:当软件进行一定程度的功能增强、特性改进或性能优时,增加次版本号。通常会引入一些新特性或修复已知问题,但与上一个版本在整体功能上保持兼容。 3. 修订版本号:当软件进行错误修复、漏洞修复或细微功能调整时,增加修订版本号。通常不会引入新特性,主要是为了修复已知问题和提高系统稳定性。 此外,还有一些特殊的版本号命名规则,如: - Alpha版本:通常为软件开发的初期版本,仍在开发和测试中,功能不完善,稳定性较差。 - Beta版本:相对于Alpha版本已经进行了一定程度的改进和调整,但仍处于测试阶段,可能存在一些问题和局限性。 - RC版本:即Release Candidate版本,是预备最终发布版本的候选版本,希望在此版本中修复所有已知问题。 - Release版本:正式发布的稳定版本,经过充分测试和验证,可供用户正常使用。 总之,软件版本号的命名规则主要由软件开发者或公司根据实际情况和需求来决定,以便更好地进行版本管理软件发布。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值