1. 程式人生 > 其它 >Python中的itertools模組

Python中的itertools模組

maven版本管理

版本管理(Version Management): 專案整體版本的演變過程管理.如1.0-SNAPSHOT -> 1.0 -> 1.1-SNAPSHOT
版本控制(Version Control): 指藉助版本控制工具(svn,git)追蹤程式碼的每一次變更.

版本管理

釋出版(Release): 版本可定位到的唯一構建.
快照(Snapshot): 定位的構建可隨時變化的版本

釋出版本要求:

  1. 所有自動化測試應當全部通過
  2. 專案沒有配置任何快照版本的依賴
  3. 專案沒有配置任何快照版本的外掛
  4. 專案所包含的程式碼已經全部提交到版本控制系統中

版本管理流程:

  1. 釋出快照版本1.0-SNAPSHOT
  2. 快照版本功能實現,並滿足釋出版本要求後,生成釋出版本1.0
  3. 打標籤關聯釋出版本與版本控制原始碼.釋出版本應該在版本控制系統中增加標籤,進行定位釋出版本,便於原始碼定位以及版本對比,乃至構建重新生成;
  4. 進入新的快照版本1.1-SNAPSHOT
    ...

版本號約定:

1.3.4-beta-2

含義:產品的第一個重大版本(1)的第三個次要版本(3)的第四次增量版本(4)的beta-2里程碑

約定格式:

<主版本>.<次版本>.<增量版本>-<里程碑版本>

主版本: 專案的重大架構變更.如jdk8到jdk9
次版本: 較大範圍的功能增加和變化及bug修復.但總體架構上變化不大.如jdk9到jdk10
增量版本: (可選)一般表示重大bug的修復.
里程碑版本: (可選)某一個版本的里程碑.這樣的版本與正式的版本相比,往往不穩定,還需要很多測試.

版本控制

主幹(trunk): 專案開發程式碼的主體,從專案開始直到當前都處於活動的狀態.
分支(branch): 從主幹的某個點分離出來的程式碼拷貝,通常可在不影響主幹的前提下,在這裡進行重大bug修復,或進行一些實驗性的開發.分支開發達到預期,需要合併(merge)到主幹中
標籤(tag): 用來標識主幹或分支的某個點的狀態,以代表專案的某個穩定狀態,這通常就是版本釋出時的狀態.

流程自動化

支援自動化釋出版本釋出
自動化生成分支
自動化生成標籤