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 …