前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >28 Dec 2023 语义版本控制

28 Dec 2023 语义版本控制

作者头像
俊采
发布2023-12-29 10:15:36
910
发布2023-12-29 10:15:36
举报
文章被收录于专栏:LEo的网络日志LEo的网络日志

语义化版本控制(semantic versioning),通常表示为:主版本号.次版本号.修订号,即 major.minor.patch。下面是每个组成部分的含义和例子:

  • major版本:当你做了不兼容的api更改,即那些会破坏现有用户的代码更改时,你需要增加主版本号。例如,从 1.6.3 更新到 2.0.0 表示有重大更改,现有的用户可能需要修改他们的代码才能适应新版本。
  • minor版本:当你添加了新功能,但是以向后兼容的方式,即不会破坏现有功能时,你需要增加次版本号。例如,从 1.6.3 更新到 1.7.0 表示添加了新功能,但是现有的用户代码不会受影响。
  • patch版本:当你进行了向后兼容的错误修复,即修复了一些小错误但没有添加新功能或者破坏现有功能时,你需要增加修订号。例如,从 1.6.3 更新到 1.6.4 通常表示修复了软件中的一些bug。

例如:

  • 假设一个开源库有一个函数 getuser(id),它返回一个用户对象。如果这个函数被改成 getuser(username),这是一个major版本变化,因为它改变了函数的使用方式。
  • 如果在不改变 getuser(id) 的同时,库中添加了一个新的函数 getuserbyemail(email),这是一个minor版本变化,因为它添加了新功能,但没有破坏旧的api。
  • 如果发现 getuser(id) 有时返回错误的用户,然后这个问题被修复了,这是一个patch版本的变化,因为它仅仅是修复了现有功能的一个bug。

LEo at 00:12

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档