• 正文
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

一個(gè)不錯(cuò)的軟件版本命名規(guī)范!

02/22 15:16
711
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

之前寫了一篇如何自動(dòng)生成版本號(hào)的文章,?《讓你的C程序,自動(dòng)打印版本信息》?

初衷是讓自己的程序在運(yùn)行時(shí)自動(dòng)打印與版本相關(guān)的信息,?避免測(cè)試時(shí)因?yàn)榘姹拘畔⒉淮_定導(dǎo)致的一些功能對(duì)應(yīng)不上去的問題,當(dāng)時(shí)留了一個(gè)坑,寫一篇關(guān)于如何設(shè)計(jì)一個(gè)相對(duì)規(guī)范的版本號(hào)的文章,現(xiàn)在把這個(gè)坑填上。

鏡像版本號(hào)格式

project name

工程名字,比如YIKOU3568、YIKOU4412

firmware version

軟件版本信息,詳見下一節(jié)

comments

其他描述信息,

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

或者對(duì)應(yīng)的硬件平臺(tái)ap、modem等

或者也可以是git 服務(wù)器最后一次commit的id

firmware version詳細(xì)格式

名稱 格式 長(zhǎng)度(字節(jié)) 說(shuō)明
v v 1 鏡像版本號(hào)以v開頭
Major XX 2 主版本號(hào)。
比如
00:工程師樣品,
01:功能完成,
02~:商業(yè)發(fā)布
(商業(yè)發(fā)布后),升級(jí)codebase或者重大新功能遞增
Minor YY 2 修復(fù)錯(cuò)誤或添加次要功能等(如果“次要”版本增加,則需要發(fā)布說(shuō)明)
build ID YYMMDDN 7 Y:年,
M:月,
D:日,
N:當(dāng)日第幾次build
(0,1,2……a,b,c……x,y,z)
release type T 0-1 T:研發(fā)發(fā)布測(cè)試版本,正式版可以不填寫

舉例

比如有以下軟件版本要發(fā)布:

    項(xiàng)目名稱 :YIKOU3568,項(xiàng)目基本功能完成,還沒有正式商業(yè)發(fā)布,此次的版本是修復(fù)了一些測(cè)試出的bug,之前minor版本為5當(dāng)年日期:2024年9月9日,當(dāng)天第2次編譯,當(dāng)前仍然是測(cè)試版本:T。

信息如下:

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

最終版本信息如下:

YIKOU3568_v01.06.2409091_?T

實(shí)際使用中,大家根據(jù)自己的需要,可以自行規(guī)定個(gè)別字段的值。

最后

發(fā)布的鏡像版本號(hào),一定要和git服務(wù)器的commit對(duì)應(yīng)起來(lái),發(fā)布的時(shí)候,一定要?jiǎng)h除本地的工程,從服務(wù)器pull下來(lái)最新的代碼,

之后重新整體編譯,然后再做個(gè)大致的測(cè)試,確保沒有問題之后再發(fā)布該版本。

做到每一個(gè)鏡像都要有明確的commit與之對(duì)應(yīng)。

否則會(huì)出現(xiàn),在某一個(gè)版本測(cè)試出了bug,但是找不到這個(gè)鏡像對(duì)應(yīng)的源碼,在其他版本上該bug又無(wú)法復(fù)現(xiàn),bug無(wú)法閉環(huán)。

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

公眾號(hào)『一口Linux』號(hào)主彭老師,擁有15年嵌入式開發(fā)經(jīng)驗(yàn)和培訓(xùn)經(jīng)驗(yàn)。曾任職ZTE,某研究所,華清遠(yuǎn)見教學(xué)總監(jiān)。擁有多篇網(wǎng)絡(luò)協(xié)議相關(guān)專利和軟件著作。精通計(jì)算機(jī)網(wǎng)絡(luò)、Linux系統(tǒng)編程、ARM、Linux驅(qū)動(dòng)、龍芯、物聯(lián)網(wǎng)。原創(chuàng)內(nèi)容基本從實(shí)際項(xiàng)目出發(fā),保持原理+實(shí)踐風(fēng)格,適合Linux驅(qū)動(dòng)新手入門和技術(shù)進(jìn)階。