前端版本号命名规范 总结
创作时间:
作者:
@小白创作中心
前端版本号命名规范 总结
引用
1
来源
1.
https://juejin.cn/post/7458098842576486415
版本号命名规范是软件开发中非常重要的一部分,它不仅帮助开发者管理代码版本,也便于用户了解软件的更新和变化。本文将详细介绍前端版本号命名规范,包括语义化版本(Semver)的各个组成部分及其使用场景。
版本号命名规范
开源项目示例
下图是目前最流行的前端框架之一的 vue 近期版本发布记录,截图来自npmjs.com
从上图不难看出:
- vue 的版本号通常由三位组成,形如:X.Y.Z。
- 版本是严格递增的,此处是:3.5.0 -> 3.5.1 -> 3.5.2。
- 在发布重要版本时,可以发布 beta、rc 等先行版本。
- beta 和 rc 等修饰版本的关键字后面可以带上次数和 meta 信息。
- 可以说,vue 发布版本时做的相当到位,版本给人的感觉非常清晰,也很严谨。这得益于 Semver(语义化版本)规范的功劳。
语义化版本规范
版本号通常由三个部分组成:主版本号(Major)、次版本号(Minor)和补丁版本号(Patch),格式为「主版本号.次版本号.补丁版本号」。
- 主版本号:当项目整体重写,或出现不向后兼容的改变时,增加主版本号。当主版本号为 0 时表示软件还处于开发阶段。
- 次版本号:表示功能更新,当出现新功能时,增加次版本号。
- 补丁版本号:表示小修改,如修复 Bug,只要有修改就增加补丁版本号。
先行版本号及编译版本号可以加到「主版本号.次版本号.补丁版本号」的后面,作为延伸。
先行版本
当要发布大版本或者核心的 Feature时,但是又不能保证这个版本的功能 100% 正常。这个时候就需要通过发布先行版本。
比较常见的先行版本包括:内测版、公测版和 RC 版本。Semver (Semantic Versioning 简写)规范中使用 alpha、beta、rc 来修饰即将要发布到版本。它们的含义是:
- alpha:内测版。此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的 Bug 较多,需要继续修改。
- beta:公测版。该版本相对于 alpha 版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的 UI,这个阶段的版本也会一直加入新的功能。
- rc:即 Release candidate,正式版本的候选版本。该版本已经相当成熟了,基本上不存在导致错误的 BUG,与即将发行的正式版相差无几,不会再加入新的功能了,主要着重于除错。
比如:1.0.0-alpha.0,1.0.0-alpha.1,1.0.0-beta.0,1.0.0-rc.0,1.0.p-rc.1 等版本。alpha,beta,rc 后需要带上次数信息。
最后,当经过这些先行版本的一系列测试之后,终归会有一个正式版本,是最终交付用户使用的一个版本,也就是 Release 版。
版本准则
列举出比较实用的一些规则:
- 项目初始化后,版本号为
0.1.0
。 - 版本在
1.0.0
之前,说明项目在开发当中。 - 每次修改,必须新开一个新版本。
- 发布版的版本号采用
X.Y.Z
。 - X、Y 和 Z 为非负整数。
- 禁止在数字前方补零,比如将
1.1.1
写作
1.01.1
。 - 禁止留白,比如将
1.1.1
写作
- 1.1
。
- 版本发布需要严格递增,比如
1.0.0
->
1.0.1
->
1.0.2
。 - 先行版本发布的顺序为
alpha
->
beta
->
rc
,比如:
1.0.0-alpha
->
1.0.0-alpha.1
-> ... ->
1.0.0-beta
->
1.0.0-beta.1
-> ... ->
1.0.0-rc
->
1.0.0-rc.1
-> ... -> 1.0.0。
关于主版本号:
- 0.Y.Z
,0 开头的版本号意味着什么? - 项目初始化后的开发行为。
- 当前特性并不稳定,常被修改。
- 1.0.0
,什么时候使用正式版本号? - 软件被正式用于生产环境。
- api 达到稳定标准。
- 递增
,什么时候主版本递增? - 完成某一重要且稳定的特性。
- 废弃某一重要的特性。
- 阶段性存档。
关于次版本号:
- 0.1.0
,什么时候开始用? - 项目被创建后的最小版本号为
0.1.0
。 - 递增
,什么时候次版本号递增? - 新特性或新功能出现。
- 某一小特性达到稳定标准。
- 归零
,当主版本号递增时,则归零。
关于修订版本号:
- 递增
,仅在当前特性下做了向下兼容,或者修复 bug - 归零
,当主版本号或次版本号递增后,修订号必须归零
关于先行版本号:
- 示例:1.0.0-alpha、1.0.0-alpha.1、1.0.0-0.3.7、1.0.0-x.7.z.92。
- 什么时候用先行版本号?
- 非稳定版。
- 优先级低于标准版本。
- 格式约束。
- 必须为[0-9A-Za-z-],通过
- 号连接在版本号的尾部。
- 常见的有 alpha,beta,rc 三个版本。
关于编译版本号:
- 示例:1.0.0-alpha+001、1.0.0+20130313144700、1.0.0-beta+exp.sha.5114f85。
- 什么时候用编译版本号?
- 当软件被新编译后,需加上编译版本号。
- 格式约束。
- 格式必须为[0-9A-Za-z-],用
- 号连接,补充在版本号最末尾。
热门推荐
农村宅基地或面临收回!这7种情况你要警惕!
流感季节,硒元素如何发挥免疫作用?
扁桃体可以切除吗,会有什么影响
夏天午后习惯性犯困的人,选错了喝咖啡的时间
商业计划书怎么写?这9个步骤助你轻松搞定(附实用模板思路)
正常u盘是什么格式?解析文件系统优缺点与选择指南
黄金基金怎么操作收益更高
小水电开发可与生态保护双赢
详解484亿:西安地铁8号线来了!
易燃易爆气体,矿业企业如何防范?
砀山县中医医院医师详解肩周炎:症状、成因与防治方法
影响金价的因素分析:从经济形势到市场预期
黄酒酒糟的再利用
什么是微幸福?解锁你的微幸福:感受日常小确幸!
人工智能自然语言处理怎么提升用户体验?
节后迎来“压岁钱”存款高峰,东莞各银行推出压岁钱理财服务
未来十天四川降水量全国第一?省气象台:不一定
团队发展瓶颈期如何破局
电影票房怎么计算?一般就计算一个月左右
如何在职场中保持积极的「晋升动力」?
新沂:“智改数转”赋能高质量发展
开口说话就让人喜欢的六个方法
海南鹿回头风景区全方位旅游指南
养娃成本分析:家庭财务规划的重要性
全面指南:苹果快捷指令如何使用
多少年可以晋升到更高的职务职级?
动态血糖监测助糖友轻松控糖
家庭教育与“自我表达”:鼓励孩子勇敢说出自己的想法
如何公平合理地分配合租房屋的房租?这种分配方式如何适应不同的合租情况?
《西游记》中猪八戒的人物形象画像和解构