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

news/2024/11/27 17:59:56/文章来源:https://www.cnblogs.com/yikoulinux/p/18572808

之前写了一篇如何自动生成版本号的文章,
《让你的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无法闭环。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/842395.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css 三角形

.threes{position: relative;}.threes::before {position: absolute;top: -6rpx;right: -50rpx;content: "";display: inline-block;width: 0;height: 0;border-left: 10rpx solid transparent; /* 调整这个值以改变三角形的大小 */border-bottom: 10rpx solid #1780…

直播预约 | 数据驱动:直击离散制造业数智化转型实践

11月28日,KaiwuDB 携手施耐德电气全球供应链中国及中工互联联合发起《数据驱动:直击离散制造业数智化转型实践》主题直播,欢迎观看。11月28日,KaiwuDB 携手施耐德电气全球供应链中国及中工互联联合发起《数据驱动:直击离散制造业数智化转型实践》主题直播,针对离散制造业…

隔行/列设置背景色

1. 概述编辑1.1 问题描述 通过根据条件显示不同背景色可以实现满足某条件时,改变行/列的背景色,那么如果表格的行与行之间需要显示为不同的颜色,该如何实现呢? 1.2 解决思路 通过在「条件属性>背景」中使用公式 row() 获取行号(公式 col() 获取列号),再通过计算实现。…

使用命令打开SQLServer配置管理器

当安装完sqlserver数据库后 发现找不到菜单sqlserver配置管理器时使用命令(window+r)打开cmd端,根据sqlserver版本号选择对应命令SQLServerManager15.msc(对于 SQLServer2019) SQLServerManager14.msc(对于 SQLServer2017) SQLServerManager13.msc(对于 SQLServer2016) SQLServ…

c#配置文件的使用记录

我有一个控制台应用程序, 其中有一些变量我想写在配置文件中 原来的app.config是这样的位置放在configuration中程序的引用中添加 在程序中使用如下写法即可取得配置中的对应值 string userNo = ConfigurationManager.AppSettings["UserNo"];

数据库开发规范v1.0

一、建表规约【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint( 1 表示是,0 表示否)。说明:任何字段如果为非负数,必须是 unsigned。 正例:表达逻辑删除的字段名 deleted_flag,0 表示删除,1 表示未删除。【强制】表名、字段名必…

ABAP开发规范V1.0

1. 概要 1.1目的 该文档定义了在开发与维护ABAP程序过程中必须遵守的规范与标准。该文档应当被视为一个动态的文档,该文档会根据需要进行增补和修订。 开发规范的重要作用在于保持整个开发团队的开发风格一致,提高程序质量,降低维护压力。 1.2适用范围 所有ABAP开发及系统配…

如何保证RocketMQ消息不丢失

如何保证RocketMQ消息不丢失 目录如何保证RocketMQ消息不丢失背景什么情况下RokectMQ消息会丢失解决RocketMQ消息丢失问题消息生产防止消息丢失Broker端消息丢失消费端处理消息总结 背景 在金融系统中MQ消息的消息丢失是不允许的,消息的丢失会导致支付状态订单状态出现混乱。接…

优化服务入口设立:提升用户满意度的全方位指南

一、引言 在数字化浪潮的席卷下,企业服务质量与服务入口设立的合理性、便捷性紧密相连。一个出色的服务入口能成为企业与用户之间的高效桥梁,不仅方便用户获取服务,还能提升企业运营效率,进而对用户满意度产生深远影响。然而,现实中不少企业从IT部门角度构建的服务流程和工…

postgres数据库大版本升级

Postgres数据库大版本升级1.升级的介绍当前PostgreSQL版本号由主要版本号和次要版本号组成。 10之前的版本由三部分组成,10开始只有两部分数字组成。例如,在版本号10.1中,10是主要版本号,1是次要版本号,这意味着这将是主版本10的第一个次要版本。 对于PostgreSQL版本10.0之…

通过本地私有的镜像仓库harbor解决网络原因导致的jdk无法加载而造成的docker打包错误

​各种网络原因,或是docker.io无法访问,或是阿里的镜像源故障,导致java打包发布的时候报错,很影响代码发布的质量。解决思路:墙出去把jdk下载下来,代码使用本地的harbor库进行引用,一劳永逸。此解决方法也适用于国外优质不频繁变动的镜像源的本地化使用。解决方法 1. 墙…

过路车辆识别智慧矿山一体机行人不行车违章识别:安防摄像头中的宽动态如何测量?

在安防监控领域,宽动态技术是衡量摄像头性能的重要指标之一,它直接影响到摄像头在不同光照条件下捕捉图像的能力。随着技术的发展,宽动态技术已经从模拟时代的初步探索,发展到网络高清时代的成熟应用。 一、安防摄像头中的宽动态如何测量? 1、实现方式 模拟时代,实现宽动…