1 開發規範 常用的版本控制

2021-09-23 19:07:02 字數 2373 閱讀 2107

這裡版本控制是經過筆者在專案中實踐總結得出的,有比較廣的適用範圍, 當然也要根據不同的業務有取捨應為筆者水平有限,其中有不足的地方也 往大家指出,多多交流

對於版本控制 我這邊是這樣做的 兩條路線,

1.大版本控制,也就是所謂的通過請求的url進行控制(當然也可以在引數進行大版本控制)

2.小版本控制,通過引數進行細小的版本控制

對於大版本控制就是所謂的在url裡面進行控制,舉個例子:

他這裡使用的就是引數進行版本控制v=

2.0,通過引數的路由指定到不同的專案

如果在請求位址裡面進行版本控制就是這樣

您的金鑰

在這裡比較推薦第二種因為引數控制可以留到更小的版本進行控制,如果是第一種需要在多傳遞乙個版本引數會顯得很累贅

一般大版本控制基本上是對第一位和第二位進行控制可以根據業務需求進行取捨

對於小版本控制存在的意義在於,在一次迭代中介面改動很小但是有個別介面有輕微的邏輯變化,比如:

1.在下乙個版本中有乙個介面取消了不允許被訪問了

2.莫個介面增加或者是刪除了幾個返回值

3.莫個介面增加了一點點邏輯

例子如下:

比如2.0.2請求的時候需要返回4個引數

而2.0.3只需要返回2個引數

在迭代公升級中不需要重新開啟乙個專案而進行小版本控制會來的更快更好管理先聊聊由什麼引出了了大小版本控制,之前筆者在開發乙個專案的時候版本迭代基本上是乙個星期一次,為了配合端進行了最簡單的 版本控制(分檔案請求位址的控制)後來發現到後面一次性要維護,3到5個版本而且真正上的邏輯差別都不大,只是為了做到配合端做好 版本控制,後來意識到這種方式在這種快速開發中是不可取得,在後面的了解和探索中發現了大小版本控制比較適合.

接著我們說能真真解決什麼問題:

從上面的例子筆者相信大家可以看出,如果有一次公升級迭代只擁有大版本控制的專案是不是需要在建立一套專案,當然是肯定的,到後 面的開發中進過的版本迭代越多,需要維護的版本就越來越對,如果有一天很早之前乙個介面曝出了bug那是不是這個版本之後的所有 只要是繼承了這個方法的專案都要改,如果都已經上線了進行著一系列修改的風險比較大,應為動刀的專案比較多,能夠縮小這一問題 的比較好的方法就是把能相容的版本盡量的相容,但是又要做到靈活,那麼小版本控制是乙個非常好的方法.

其實在市面上流行的還有一種做法,一套專案相容所有版本,大家也可以自己考慮一下這種方法的可行性,當然莫些業務需求會用到, 但在這裡並不推薦使用,這樣做的問題在於對於乙個介面的邏輯在後期會相當複雜難以維護,筆者公司之前交給外包公司做的乙個專案 就是採用這種方式,到後面實踐下來暴露了很多很多的問題.

在這裡筆者也進行了一些梳理,在什麼時候進行相容,在什麼時候進行版本切分,可以提供給大家參考參考:

對於web端實行同步更新,有且只有乙個後端版本存在,與web同時上線迭代更新.
例子:

***x/專案名稱/版本號(兩位如:1.0;1.1;)/引數

2.每個介面訪問必須帶有引數version作為乙個版本號傳遞引數(三位如:1.0.1;1.0.3)

3.無論版本迭代多少次之前版本無特殊情況不允許做任何刪除操作

4.在開發中資料庫結構,以及**層面必須對之前版本相容,不能對歷史版本有影響

對於不同的迭代版本採用以下規則進行(相容)或(區分專案)操作:

以下情況進行相容操作:(所謂相容就是多個版本請求同乙個位址傳遞的version不同,**層面的區分業務邏輯)

1.當下一版本業務邏輯變化不大,單介面無較大修改(所謂較大修改規定為單介面原有工作量的30

%)優先選擇相容迭代

2.當下一版本上線週期小於3周或開發周期小於2週時,優先選擇相容迭代

3.當下一版本有新增介面時,優先選擇相容迭代

4.當前一版本未上線,優先選擇相容迭代

5.當相容版本小於3個,上線版本小於2個,優先選擇相容迭代

6.當滿足區分版本中的任意乙個條件,必須選擇區分版本迭代

以下情況進行區分版本:(所謂區分版本就是呼叫的鏈結本質上的不同指向的專案區別對待,專案層面區分業務邏輯)

1.當相容迭代版本超過3個或線上版本相容2個,必須是用區分版本公升級

2.當下一版本週期大於3周或開發周期大於2周,必須選擇區分版本公升級

3.當下一版本需求定位有有一定改變或跨度時,應當使用區分版本公升級

在這裡這篇簡短的版本控制說明就到這裡,希望大家能從中收穫到一些靈感,但是請注意務必根據業務請求結合實際.

Android開發常用的版本控制工具和比較

現在主流的版本控制工具無非是svn 和 gitsvn svn是subversion的簡稱,是乙個開放源 的版本控制系統,相較於rcs cvs,它採用了分支管理系統,它的設計目標就是取代cvs。網際網路上很多版本控 務已從cvs遷移到subversion。說得簡單一點svn就是用於多個人共同開發同乙個...

git版本控制開發

基本知識 基礎知識部落格連線 個人開發 建立分支 建立本地分支 git branch mybranch 切換分支 git checkout mybranch 建立並切換分支 git checkout b mybranch 檢視分支 檢視本地分支 git branch 檢視遠端分支 git branc...

Git 開發版本控制

1.建立 倉庫。2.將本地 上傳倉庫。cd e code git init initialized empty git repository in e code git git remote add origin git code.aliyun.com x.git git add git commi...