Depends简介与使用说明 - Go语言中文社区

Depends简介与使用说明


Depends是个开源软件,刚发现,试用之后,效果惊艳。

它可以分析代码依赖关系。作为一个基础工具,仅仅提供了命令行。但通过graphviz(亲测可用),plantuml,DV8这些开源或者商业的工具,能基于depends的数据进行输出。

Depends生成的数据,直接进行展示,有时会出现线过多根本看不清的问题,如下图:

图1.png

 

为此做了一个优化工具depends_opt,通过它可以优化数据,然后再提交给graphviz展示。

有关的使用方法及depends_opt,见附。

在实际项目中,选取了2个模块的代码,进行分析,示意如下:

 

图2.png

 

图3.png

 

 

提供简单使用说明,方便整理出代码模块关系图,从而能直观感受模块的当前状态,希望能对模块改进有所帮助。

约定:

  1. 以文件为最小单位,而不是以函数为最小单位。(这应该是depends的要求)

使用方法:

  1. 使用depends分析代码

java -jar toolsdepends.jar --auto-include --format=dot cpp f:...VirtualGponOnu ponup_gpon

正常的话,会生成 ponup_gpon.dot

  1. 优化分析结果

toolsdepends_opt ponup_gpon.dot 20

正常的话,会生成 ponup_gpon_2.dot

过程中,会打印出调用次数过大的扇入扇出文件名称。

  1. 使用graphviz展示

首先安装graphviz。

使用 GVEdit 打开 ponup_gpon_2.dot,就能看到展示图了。

通过 菜单graph -- setting 可以根据需要生成 png/pdf 等格式的文件。

注意事项:

  1. Java建议安装最新的版本。
  2. Pdf文档非常宽,建议使用foxit打开。
  3. 上文粗体字,使用时需要根据自己的情况修改。
  4. 在展示方面,因为graphviz不接受”.”,所以,.h ,.c 以 _h, _c 显示。

 

附:

  1. Depends  https://github.com/multilang-depends/depends/releases/
  2. Graphviz  http://graphviz.org/
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/danxibaoxxx/article/details/88634160
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-09-05 20:02:36
  • 阅读 ( 1357 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢