depends代碼依賴分析工具--使用指南

安裝

首先到Github的https://github.com/multilang-depends/depends/releases下載最新的depends,現(xiàn)在版本是0.9.0?,F(xiàn)有的的啟動命令有個Bug。解壓縮后,用記事本打開編輯depends.bat文件。

把內(nèi)容從"exec java -jar depends.jar %" 替換為"java -jar depends.jar %" 。

用windows cmd命令行打開depends.bat -h。

里面有幾個重要參數(shù),我們會用到:

-f, --format 輸出報告的文件格式,有json(default),xml,excel,dot plantuml。
-g, --granularity=<granularity>, 顆粒度,顆粒度有源文件(默認)、方法。
--auto-include 自動包含子目錄。
下面是一個完整的命令行例子:
depends --auto-include -g file -f dot java E:\workspaces\xxxx output

其中"E:\workspaces\xxxx "是代碼的根目錄,output是輸出報告的文件名,輸出后會輸出output.dot。
執(zhí)行時間還是比較快的,4秒后就能輸出報告了。

可視化

輸出的.dot文件是需要可視化Graphviz軟件打開,到官網(wǎng)下載Graphviz https://graphviz.gitlab.io/_pages/Download/Download_windows.html。

安裝完畢后,運行bin目錄下的,GVEdit.exe。打開之前輸出的output.dot

下面的截圖的項目是一個小項目,整個項目一共僅有12個文件,輸出的文件依賴圖見下圖的右側(cè)。


依賴圖

嘗試一個的中型項目,一共571個Java文件,輸出的依賴圖如下,看起來已經(jīng)不怎么可讀了。


中型項目依賴圖

結(jié)論

優(yōu)點:代碼分析速度快,開源僅需一行命令行即可運行,便于和第三方應(yīng)用如(DevOps、可視化工具)集成。

缺點:此工具僅能輸出依賴圖,且可視化完全依賴第三方可視化工具(嘗試了作者介紹的plantuml、Graphviz ),但市面上可視化工具出圖的效果很不好,幾乎不可讀,需要自研可視化工具來解析才能達到可用的效果。

綜上,現(xiàn)在版本0.9版,離真正可用還有一段時間。此外,還需要更好的可視化工具支撐,建議在觀察一段時間出到1.0.0正式版再說。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容