當(dāng)我們?cè)谛枨蠹皹I(yè)務(wù)明確后,產(chǎn)品及設(shè)計(jì)已經(jīng)做出了對(duì)應(yīng)的文檔及UI圖,那么進(jìn)入研發(fā)階段開始編碼實(shí)現(xiàn)功能,當(dāng)功能實(shí)現(xiàn)的差不多了之后,期間會(huì)需要簽出不同的包作為展示或測(cè)試,不管當(dāng)前的進(jìn)度處于什么階段,簽出對(duì)應(yīng)安裝包的時(shí)候都會(huì)對(duì)其進(jìn)行命名并發(fā)送給測(cè)試人員。一般往往通過命名,就可以大概知道當(dāng)前簽出的包處于哪個(gè)版本階段,Alpha階段?Beta階段?RC階段?測(cè)試人員測(cè)試時(shí)心里也會(huì)有個(gè)數(shù)。
雖然在很多時(shí)候定義App的版本命名規(guī)則時(shí)隨便一拍腦袋就定下來了,而且覺得大家在交流溝通的時(shí)候都是一串?dāng)?shù)字而已,但統(tǒng)一規(guī)范版本號(hào)后,不管是做更新升級(jí),后臺(tái)版本接口更新,版本檢測(cè),溝通交流等都會(huì)方便不少,為了在軟件產(chǎn)品生命周期中更好的溝通和標(biāo)記,我們對(duì)APP版本號(hào)命名做出一定的規(guī)范還是很有必要的。
在Android中版本的意義有哪些呢?Android中有 versionCode 和 versionName,他們分別所代表的意思如下:
verisonCode 是作為一個(gè)內(nèi)部版本號(hào),必須是整型。用來區(qū)分版本的新舊,版本號(hào)越大,代表距當(dāng)前越近的發(fā)布版本。這個(gè)數(shù)字不是給用戶使用的,是給開發(fā)者內(nèi)部使用的。
versionName 是向用戶展示的版本號(hào),必須是字符串,這個(gè)版本號(hào)就是我們可以用來遵循規(guī)范的位置,可以作為版本比較的,判斷是否需要提示更新、是否需要強(qiáng)制更新的依據(jù)。
很多公司對(duì)版本命名都有自己的一套規(guī)范,例如:
<APP名稱>_<主版本號(hào)>.<子版本號(hào)>_<SVN最后提交數(shù)>
如:YinLiFang_1.0_10242.apk
<APP名稱>_<主版本號(hào)>.<子版本號(hào)>.<階段版本號(hào)>_<日期版本號(hào)加希臘字母版本號(hào)>
如: YinLiFang_1.0.0.170517_R.apk
<APP名稱>_<主版本號(hào)>.<子版本號(hào)>_<日期版本號(hào)加希臘字母版本號(hào)>
如: YinLiFang_1.0.170517_beta.apk
還有其他一些會(huì)在主版本號(hào)前加一個(gè) v 等等,大體上想表達(dá)的意思都差不多,為了規(guī)范命名,為了方便以后管理,為了描述當(dāng)前的包處于哪個(gè)階段。這里大致介紹下軟件版本號(hào)的組成部分,上面也給出了一些示例,一般由四部分組成:<主版本號(hào)>.<子版本號(hào)>.<階段版本號(hào)>.<日期版本號(hào)加希臘字母版本號(hào)> 。 如:1.1.2.170517_alpha 。
那么希臘字母版本號(hào)是什么意思呢?
希臘字母版本號(hào)共有5種,分別是:base、alpha、beta、rc、release。 完全的版本號(hào)定義分三項(xiàng): <主版本號(hào).><子版本號(hào)>.<階段版本號(hào)>(即:1.1.0),下面對(duì)版本階段進(jìn)行下簡(jiǎn)單的介紹。
Alpha版:也叫α版,此版本主要是以實(shí)現(xiàn)軟件功能為主,通常只在軟件開發(fā)者內(nèi)部交流,一般而言,該版本軟件的Bug較多,需要繼續(xù)修改。
Beta版:此版本相對(duì)于α版已經(jīng)有了很大的改進(jìn),消除了嚴(yán)重的錯(cuò)誤,但還是存在著一些缺陷,需要經(jīng)過多次測(cè)試來進(jìn)一步消除,此版本主要的修改對(duì)像是軟件的UI。
RC版:此版本已經(jīng)相當(dāng)成熟了,基本上不存在導(dǎo)致錯(cuò)誤的BUG,與即將發(fā)行的正式版相差無幾,測(cè)試人員基本通過的版本。
Release版:此版本意味著“最終版本”、“上線版本”,在前面版本的一系列測(cè)試版之后,終歸會(huì)有一個(gè)正式版本,是最終交付用戶使用的一個(gè)版本。該版本有時(shí)也稱為標(biāo)準(zhǔn)版。一般情況下,Release不會(huì)以單詞形式出現(xiàn)在軟件封面上,取而代之的是符號(hào)(R)。
以 YinLiFang_1.0.0.170517_beta.apk 為例
主版本號(hào)(1):當(dāng)功能模塊有較大的變動(dòng),比如增加多個(gè)模塊或者整體架構(gòu)發(fā)生變化。此版本號(hào)由項(xiàng)目決定是否修改。
子版本號(hào)(0):當(dāng)功能有一定的增加或變化,比如增加了對(duì)權(quán)限控制、增加自定義視圖等功能。此版本號(hào)由項(xiàng)目決定是否修改。
階段版本號(hào)(0):一般是 Bug 修復(fù)或是一些小的變動(dòng),要經(jīng)常發(fā)布修訂版,時(shí)間間隔不限,修復(fù)一個(gè)嚴(yán)重的bug即可發(fā)布一個(gè)修訂版。此版本號(hào)由項(xiàng)目經(jīng)理決定是否修改。
日期版本號(hào)(170517):用于記錄修改項(xiàng)目的當(dāng)前日期,每天對(duì)項(xiàng)目的修改都需要更改日期版本號(hào)。此版本號(hào)由開發(fā)人員決定是否修改。
希臘字母版本號(hào)(beta)::此版本號(hào)用于標(biāo)注當(dāng)前版本的軟件處于哪個(gè)開發(fā)階段,當(dāng)軟件進(jìn)入到另一個(gè)階段時(shí)需要修改此版本號(hào)。此版本號(hào)由項(xiàng)目決定是否修改。
以上便是對(duì)APP版本號(hào)命名規(guī)范及原則的介紹和總結(jié),不論采用哪種規(guī)則去定義,目的都是為了能在軟件產(chǎn)品生命周期中更好的溝通和標(biāo)記。
聯(lián)系客服