depends代码依赖分析工具--使用指南

安装

首先到Github的https://github.com/multilang-depends/depends/releases下载最新的depends,现在版本是0.9.0。现有的的启动命令有个Bug。解压缩后,用记事本打开编辑depends.bat文件。

把内容从"exec java -jar depends.jar %" 替换为"java -jar depends.jar %" 。

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

里面有几个重要参数,我们会用到:

-f, --format 输出报告的文件格式,有json(default),xml,excel,dot plantuml。
-g, --granularity=, 颗粒度,颗粒度有源文件(默认)、方法。
--auto-include 自动包含子目录。
下面是一个完整的命令行例子:
depends --auto-include -g file -f dot java E:\workspaces\xxxx output

其中"E:\workspaces\xxxx "是代码的根目录,output是输出报告的文件名,输出后会输出output.dot。
执行时间还是比较快的,4秒后就能输出报告了。

可视化

输出的.dot文件是需要可视化Graphviz软件打开,到官网下载Graphviz https://graphviz.gitlab.io/_pages/Download/Download_windows.html。

安装完毕后,运行bin目录下的,GVEdit.exe。打开之前输出的output.dot

下面的截图的项目是一个小项目,整个项目一共仅有12个文件,输出的文件依赖图见下图的右侧。


依赖图

尝试一个的中型项目,一共571个Java文件,输出的依赖图如下,看起来已经不怎么可读了。


中型项目依赖图

结论

优点:代码分析速度快,开源仅需一行命令行即可运行,便于和第三方应用如(DevOps、可视化工具)集成。

缺点:此工具仅能输出依赖图,且可视化完全依赖第三方可视化工具(尝试了作者介绍的plantuml、Graphviz ),但市面上可视化工具出图的效果很不好,几乎不可读,需要自研可视化工具来解析才能达到可用的效果。

综上,现在版本0.9版,离真正可用还有一段时间。此外,还需要更好的可视化工具支撑,建议在观察一段时间出到1.0.0正式版再说。

你可能感兴趣的:(depends代码依赖分析工具--使用指南)