首页 > 其他分享 >一个不错的软件版本命名规范!

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

时间:2024-11-27 18:12:23浏览次数:5  
标签:YIKOU3568 版本号 版本 镜像 命名 软件 版本信息 bug

之前写了一篇如何自动生成版本号的文章,
《让你的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:YIKOU3568
  • major:01
  • monor:06
  • build ID:240909
  • N:1
  • release type:T

最终版本信息如下:

YIKOU3568_v01.06.2409091_ T

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

最后

发布的镜像版本号,一定要和git服务器的commit对应起来,

发布的时候,一定要删除本地的工程,

从服务器pull下来最新的代码,

之后重新整体编译,

然后再做个大致的测试,

确保没有问题之后再发布该版本。

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

否则会出现,在某一个版本测试出了bug,

但是找不到这个镜像对应的源码,

在其他版本上该bug又无法复现,

bug无法闭环。

标签:YIKOU3568,版本号,版本,镜像,命名,软件,版本信息,bug
From: https://www.cnblogs.com/yikoulinux/p/18572808

相关文章

  • Jenkins升级到最新版本后无法启动
    1.场景还原最近在web界面将jenkins升级到最新版本后,后台无法启动jenkins服务,服务状态如下:运行jenkins命令提示invalidJavaversionjenkins--versionjenkins:invalidJavaversion:javaversion"1.8.0_202"Java(TM)SERuntimeEnvironment(build1.8.0_202-b08)J......
  • 软件设计:实验2:简单工厂模式
    实验2:简单工厂模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解简单工厂模式的动机,掌握该模式的结构;2、能够利用简单工厂模式解决实际问题。 [实验任务一]:女娲造人使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参......
  • 软件设计:实验1:UML与面向对象程序设计原则
    实验1:UML与面向对象程序设计原则本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、掌握面向对象程序设计中类与类之间的关系以及对应的UML类图;2、理解面向对象程序设计原则。 [实验任务一]:UML复习阅读教材第一章复习UML,回答下述问题:面向对象程序设计中类与类的关......
  • 软件设计:实验3:工厂方法模式
    实验3:工厂方法模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解工厂方法模式的动机,掌握该模式的结构;2、能够利用工厂方法模式解决实际问题。 [实验任务一]:加密算法目前常用的加密算法有DES(DataEncryptionStandard)和IDEA(InternationalDataEncryption......
  • 软件设计:实验4:抽象工厂模式
    实验4:抽象工厂模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解抽象工厂模式的动机,掌握该模式的结构;2、能够利用抽象工厂模式解决实际问题。 [实验任务一]:人与肤色使用抽象工厂模式,完成下述产品等级结构: 实验要求:1.画出对应的类图;2.提交源代码;3.注......
  • 软件设计:实验7:单例模式
    实验7:单例模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解单例模式的动机,掌握该模式的结构;2、能够利用单列模式解决实际问题。 [实验任务一]:学号的单一仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。实验要求:1.画出对应的类图;2.提交源......
  • 软件设计:实验6:原型模式
    实验6:原型模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解原型模式的动机,掌握该模式的结构;2、能够利用原型模式解决实际问题。 [实验任务一]:向量的原型用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量类,比......
  • 软件设计:实验5:建造者模式
    实验5:建造者模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解建造者模式的动机,掌握该模式的结构;2、能够利用建造者模式解决实际问题。 [实验任务一]:计算机组装使用建造者模式,完成下述任务:计算机组装工厂可以将CPU、内存、硬盘、主机等硬件设备组装在一起......
  • 软件设计:实验9:桥接模式
    实验9:桥接模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解桥接模式的动机,掌握该模式的结构;2、能够利用桥接模式解决实际问题。 [实验任务一]:两个维度的桥接模式用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。实验要求......
  • 软件设计:实验8:适配器模式
    实验8:适配器模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解适配器模式的动机,掌握该模式的结构;2、能够利用适配器模式解决实际问题。 [实验任务一]:双向适配器实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。实验要求:1.画出对应的类图;2.提交源......