JCCI首頁、文檔和下載- Java 代碼改動影響範圍分析- 科技資訊

jcci 是Java 代碼提交影響分析工具,是一個純python庫,分析Java項目的兩次git提交對項目的影響,並生成樹形圖數據。

PYPI: jcci

軟件架構

大致原理同Idea的Find Usage一致,通過代碼改動定位代碼影響,並不斷遍歷受影響的類和方法直至找到最上層的controller層

代碼主要由python編寫,主要涉及2個庫:

  • javalang java文件語法解析庫
  • unidiff git diff信息解析庫

通過javalang語法解析獲取每個Java文件的import class extends implements declarators methods 等信息

通過unidiff 解析git diff信息(diff file, added_line_num, removed_lin_num)

然後根據文件增刪的代碼行去判斷影響了哪些類和方法,不斷遍歷受影響的類和方法直至找到最上層的controller層

通過傳入項目git地址分支兩次的commit id,即可分析出兩次commit id之間代碼改動所帶來的影響,並生成樹圖數據方便展示影響鏈路。

安裝教程

使用說明

新建python項目,新建python文件,代碼如下:

from jcci import jcci

jcci.analyze('git@xxxx.git','master','commit_id1','commit_id2', 'username1')

運行時,會將項目克隆到目錄中,然後進行分析,生成後綴格式為commit_id1…commit_id2.cci的文件,其中包含分析結果生成的樹形圖數據,打開jcci-result.html,選擇分析結果的.cci文件,即可可通過視圖顯示。

CCI result

result

CCI result tree view

treeView

#JCCI首頁文檔和下載 #Java #代碼改動影響範圍分析 #科技資訊

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *