接口(Api)版本号命名规则
0. 前言
版本号的命名和更新问题,是开发者的责任感和前瞻性的问题。
1. 项目立项时
版本格式:0.0.0
2. 开发阶段时
此时系统尚不稳定,随时可能增减或者修正API。
版本格式:0.次版本号.修订号,版本号递增规则如下:
- 主版本号:0表示正在开发阶段;
- 次版本号:增加新的功能时增加;
- 修订号:只要有改动就增加。
3. 开发完成后,发布API,或进入二方库时
此时系统已经基本稳定,可以对外公布使用,意味着API不再会被随意修改。
版本格式:1.0.0
4. 后续的维护升级时
没有特殊需求不会修改API,尤其是对API进行不兼容的升级,或弃用时要特别谨慎。如果需要弃用API,要提前在一个或几个版本中加入弃用标示或注解,并在文档中,建议用户更换为其他可替换的API,然后在下个主版本号升级时,再真正丢掉弃用的API。
版本格式:主版本号.次版本号.修订号,版本号递增规则如下:
- 主版本号:全盘重构时增加;重大功能或方向改变时增加;大范围不兼容之前的接口时增加;
- 次版本号:增加新的业务功能时增加;
- 修订号:增加新的接口时增加;在接口不变的情况下,增加接口的非必填属性时增加;增强和扩展接口功能时增加。
新增接口:如果该新增的接口只是对现有的业务线进行扩展则增加修订号;如果是为了增加新的业务线则增加次版本号。
5. 先行版本号和开发版本号
先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。
- 先行版本号(Pre-release):意味该版本不稳定,可能存在兼容性问题。 其格式为:X.Y.Z.[a-c][正整数],如 1.0.0.a1,1.0.0.b99,1.0.0.c1000。
- 开发版本号:常用于 CI-CD(持续集成和持续交付)。 格式为 X.Y.Z-dev[正整数],如 1.0.1-dev4。
- 版本号的排序规则为依次比较主版本号、次版本号和修订号的数值,如 1.0.0 < 1.0.1 < 1.1.1 < 2.0.0;对于先行版本号和开发版本号,有:1.0.0.a100 < 1.0.0,2.1.0-dev3 < 2.1.0;当存在字母时,以 ASCII 的排序来比较,如 1.0.0.a1 < 1.0.0.b1。
特别注意:
1. 版本一经发布,不得修改其内容,任何修改必须在新版本发布!
2. 在接口还没有确定下来的时候,应该先使用开发版本号。
3. 业务功能 > 功能 > 接口
推荐阅读:
版本号命名指南
版本号命名规则-语义化版本 2.0.0 | Semantic Versioning
————————————————
版权声明:本文为CSDN博主「frcoder」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012107143/article/details/78731272
接口(Api)版本号命名规则相关推荐
- Spring改变版本号命名规则:此举对非英语国家很友好
要想改变命运,首先改变自己.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BA ...
- 版本号命名规则 软件版本说明
版本号命名规则 主版本号.子/次版本号.修正/补丁版本号.编译版本号 当代码变更时,版本号按以下原则更新. 如果只是修复bug,需要更新补丁版本号: 如果是新增了功能,但是向下兼容,需要更新子版本号: ...
- 带你了解软件版本号的命名规则
1. 常见软件的版本号命名 软件 升级过程 说明 Linux Kernel 0.0.1 / 1.0.0 / 2.6.32 / 3.0.18 /- 若用 X.Y.Z 表示,则偶数 Y 表示稳定版本,奇数 ...
- 【工程化系列】软件版本号的命名规则
DATE: 2020.8.1 文章目录 1.参考 2.软件版本号的命名规则 1.参考 版本号命名规则 APP.软件版本号的命名规范与原则 2.软件版本号的命名规则 版本号的格式为 X.Y.Z(又称 M ...
- Spring源码版本命名规则
Spring源码版本命名规则 某些常见软件的版本号: Linux Kernel: 0.0.1,1.0.0,2.6.32,3.0.18-,若用 X.Y.Z 表示,则偶数 Y 表示稳定版本,奇数 Y 表示 ...
- Spring5源码分析系列(二)Spring源码版本命名规则及下载安装
Tom老师视频讲解第二章,这章主要是科普篇,介绍了下spring版本的命名规则及源码下载,文章参考自Tom老师视频. Spring源码版本命名规则 (1)首先看看某些常见软件的版本号: LinuxKe ...
- Spring框架版本命名规则
常见软件的版本号命名 软件 升级过程 说明 Linux Kernel 0.0.1 1.0.0 2.6.32 3.0.18 ... 若用X.Y.Z 表示,则偶数Y 表示稳定版本,奇 数Y 表示开发版本. ...
- Android 命名规则
1. 前言 这份文档参考了 Google Java 编程风格规范和 Google 官方 Android 编码风格规范.该文档仅供参考,只要形成一个统一的风格,见量知其意就可. 1.1 术语说明 在本文 ...
- JAVA多态/封装/接口/包/包的命名规则——java面向对象
Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力. 多态的优点 消除类型之间的耦合关系 可替换性 可扩充性 接口性 灵活性 简化性 多态存在的三个必要条件 继承 重写 父类引用指向子类 ...
- linux rpm版本号,linux中RPM包命名规则
RPM包的一般格式为: name-version-arch.rpm name-version-arch.src.rpm 例: httpd-2.2.3-29.el5.i386.rpm httpd-dev ...
最新文章
- 07Oracle Database 数据表
- function_core.php is missing下载,discuz中 function_core.php中的dmkdir有死环bug
- python语言能够整合各类程序代码-python语言概述
- 【转载保存】索引文件锁LockFactory
- 【vue2.0进阶】轻松理解Vuex的3个核心概念
- 品牌设计工作室html5模板
- Magcodes.WeiChat——自定义CustomCreationConverter之实现微信自定义菜单的序列化
- python 间接处理webp图片文件
- jquery实现上下左右键盘监听_初识 jquery.simulate.js 模拟键盘事件
- lpddr3 阻抗_LPDDRx的总结
- 批量微信号码过滤程序
- 用logisim实现串行的全加器
- 思维导图:从Xmind到docsify博客
- 板岩Slate Digital发布FG-X 2 ML-1 FG-36A
- Python数据处理
- 强化学习:不用给AI一个支点,他也能想办法撬起地球
- iPhone最强悍对抗者——HTC崛起的秘密
- Git——SSH免密登录
- c语言计算n+nn+nnn+nnnn......---@颜麓
- Android创建前台运行的Service
热门文章
- 认知无线电与软件定义无线电的区别
- 数据结构课程设计1: 区块链
- java parser .java_JDK的Parser来解析Java源代码详解
- 无盘服务器缓存,深入研究无盘服务器缓存
- oracle数据转换,Oracle数据库转换函数
- 计算机二级公共基础知识点整理
- java源码编译指令
- pyqt 鼠标离开按钮_小米 Smart Pad 体验:表面它是个鼠标垫,其实还是个鼠标垫...
- 第一课----色彩构成与色彩模式
- Bishop-Pattern-Recognition-and-Machine-Learning-2006 pdf转html并翻译