由于业务需要对市面上比较常见的代码可视化东西进行了调研,依据调研体会做了比照计算。本调研点评偏重对java大型项目的可视化作用,仅供参考。
可视化东西参考:
调研比照剖析
引荐:scitools understand、Graph Buddy
东西 | 运用体会 | 支撑语言 | 是否开源 | 功用列表 | 备注 |
---|---|---|---|---|---|
Visustin |
1.仅支撑windows体系 2.除根本逻辑句子(if、while等)外,关于业务逻辑代码可解释性差 3.不支撑函数调用嵌套识别 4.流程图可修改,关于无法解释的复杂意图可修改优化 |
支撑49种编程语言(包括python、java、shell、SQL) | 闭源且收费(有破解版) |
1.支撑文件导入 2.一键制作流程图 3.流程图可修改(拖动、修改内容) |
1.比较适用于简略的算法解说以及文档编写课程图制作 2.或许关于简略工程适应性比较好,不便于应用于多模块的复杂工程(不同模块之间的联系需要自己树立) |
Sourcetrail | 未成功 | 支撑C、C 、Java 和 Python | 免费且开源github.com/CoatiSoftwa… | 未成功 | github.com/CoatiSoftwa… 依据git ISSUE, mac中解析java项目仍存在bug |
Embold | 1.有IDEA插件,产品较为全面 2.有运用文档:Installation and Backup Guide – Code Quality Docs 3.主要用于检查代码缺点,不能生成代码流程图,快速了解工程 |
支 C/C 、C#、Objective C 和 Java等 | 有免费版但未开源 | 1.主动剖析单个文件的代码缺点 2.扫描悉数文件的代码缺点 3.AUTODOC主动生成注释文档 |
1.主要用于检查代码缺点,不能生成代码流程图 2.生成的注释过于简略,作用有限 |
Scitools understand | 1.点评最好的代码可视化软件 2.试用版只能用demo工程,不可自己导入工程 |
支撑C 、Java、Jovial、Pascal、ADA、.NET等 | 收费试用需申请 | 1.支撑工程项目导入 2.支撑函数级别流程图制作 3.支撑函数内部流程图制作 |
1.兼备函数调用联系的整理和函数内部代码逻辑的数据 2.同时可关于类文件的调用联系进行整理 |
Graph Buddy | 1.有IDEA插件,产品全面 2.支撑嵌套、最小单元为函数 3.可主动生成流程图4.流程图可修改性较差(仅可拖动) |
java、scala | 免费且开源github.com/VirtusLab/g… | 1.主动生成流程图 2.自定义绘图 3.流程图整理东西(挑选、查询、联系查询) 4.流程图保存 |
1.偏重函数层面的调用联系整理,并且关于多文件间函数调用识别准确率一般 2.关于多层嵌套复杂工程,主动生成流程图体会一般,需进行挑选整理 3.关于自定义制作流程图体会较好 4.相当于一个便捷的内嵌代码流程图制作东西 |
code2flow | 1.依据伪代码生成流程图 2.不支撑函数调用嵌套识别 3.流程不可修改 4.界面交互性更强,可点击代码对应行会在图中又呼应 |
未特别指定 | 收费,但有试用期 | 1.实时依据代码制作流程图 2.可同享、一起协作 |
1.与Visustin体会类似 2.与Visustin不同在于,code2flow是一行一个流程框, Visustin仅在逻辑句子前后划分流程框 |
Source insight | 1.仅支撑windows体系 2.提供的功用IDEA根本悉数支撑 3.相当于一个源码阅读辅助器,无绘图功用 |
支撑C、C 、Java 和 Python等 | 收费,但有试用期 | 1.检查函数调用上下文窗口 2.检查函数关联调用 |
1.IDEA已支撑其核心功用 2.关于大型JAVA工程,IDEA支撑性更好 |
可视化东西运用测验截图
Visustin运用测验
函数调用
简略的for句子
简略while句子
长if句子
for循环嵌套if
Sourcetrail运用测验
加载java环境的bug
问题解决参考:github.com/CoatiSoftwa…
尽管解决不了