• 正文
  • 相关推荐
申请入驻 产业图谱

一个不错的软件版本命名规范!

02/22 15:16
618
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

之前写了一篇如何自动生成版本号的文章, 《让你的C程序,自动打印版本信息》 

初衷是让自己的程序在运行时自动打印与版本相关的信息, 避免测试时因为版本信息不确定导致的一些功能对应不上去的问题,当时留了一个坑,写一篇关于如何设计一个相对规范的版本号的文章,现在把这个坑填上。

镜像版本号格式

project name

工程名字,比如YIKOU3568、YIKOU4412

firmware version

软件版本信息,详见下一节

comments

其他描述信息,

比如版本的os:Linux、threadx、vxworks等

或者对应的硬件平台ap、modem等

或者也可以是git 服务器最后一次commit的id

firmware version详细格式

名称 格式 长度(字节) 说明
v v 1 镜像版本号以v开头
Major XX 2 主版本号。
比如
00:工程师样品,
01:功能完成,
02~:商业发布
(商业发布后),升级codebase或者重大新功能递增
Minor YY 2 修复错误或添加次要功能等(如果“次要”版本增加,则需要发布说明)
build ID YYMMDDN 7 Y:年,
M:月,
D:日,
N:当日第几次build
(0,1,2……a,b,c……x,y,z)
release type T 0-1 T:研发发布测试版本,正式版可以不填写

举例

比如有以下软件版本要发布:

    项目名称 :YIKOU3568,项目基本功能完成,还没有正式商业发布,此次的版本是修复了一些测试出的bug,之前minor版本为5当年日期:2024年9月9日,当天第2次编译,当前仍然是测试版本:T。

信息如下:

    project name:YIKOU3568major:01monor:06build ID:240909N:1release type:T

最终版本信息如下:

YIKOU3568_v01.06.2409091_ T

实际使用中,大家根据自己的需要,可以自行规定个别字段的值。

最后

发布的镜像版本号,一定要和git服务器的commit对应起来,发布的时候,一定要删除本地的工程,从服务器pull下来最新的代码,

之后重新整体编译,然后再做个大致的测试,确保没有问题之后再发布该版本。

做到每一个镜像都要有明确的commit与之对应。

否则会出现,在某一个版本测试出了bug,但是找不到这个镜像对应的源码,在其他版本上该bug又无法复现,bug无法闭环。

点赞
收藏
评论
分享
加入交流群
举报

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录

公众号『一口Linux』号主彭老师,拥有15年嵌入式开发经验和培训经验。曾任职ZTE,某研究所,华清远见教学总监。拥有多篇网络协议相关专利和软件著作。精通计算机网络、Linux系统编程、ARM、Linux驱动、龙芯、物联网。原创内容基本从实际项目出发,保持原理+实践风格,适合Linux驱动新手入门和技术进阶。