Understand——根据代码自动生成类图的工具
推荐Understand软件。看开源代码的时候不免要自己手动绘制类图但是太繁琐和麻烦了但是没有这些类图在大脑中就无法建立立体的画面就想着有没有类图自动生成的软件工具有很多其中Understand不错。关键的是Understand还是个代码编辑器和vscode一样只是没有vscode那样的插件生态。跳转啥的都是crtl鼠标左击。1 软件下载软件网上找的传到网盘如下通过网盘分享的文件understand链接: https://pan.baidu.com/s/1cXTwQ3oEUEjc0GxsUi8btA?pwdrdvh 提取码: rdvh2 创建project按照它的提示一路下去即可。3 源码统计创建完新project后它自己先分析最后会给出结果以videopipe源码分析为例如下统计:可以看到它能统计多少行代码注释多少行空白多少个未激活代码多少行宏多少行多个类多少个函数多少个文件等等等等。4 自动生成类图在工具栏中的Graphs —— UML Class Diagram —— By Directory Structure它会分析并生成目录下源文件的所有类图如下局部4.1 ctrlf搜索类名4.2 类图显示选项选中某个类图的类名字右击有如下选项Entity: vp_analysis_board实体vp_analysis_board当前分析的实体/模块名称该选项可以跳转到该鼠标所在的类名或者类的成员的定义之处等。Graph类图显示方式Highlight Edges Out高亮传出连接 / 高亮出边高亮从该节点指向其他节点的连线Highlight Edges In高亮传入连接 / 高亮入边高亮从其他节点指向该节点的连线Hide隐藏隐藏当前选中的节点或元素Show Children前面有勾选标记 ✓显示子项 / 显示子节点当前已启用表示会显示该实体的下属/子级元素4.2.1 类实体选项View Information查看信息显示文件的详细属性、路径、复杂度等Graphical Views图形化视图打开各种图表如依赖图、继承树等View Dependencies查看依赖分析该文件引用了谁或被谁引用Interactive Reports交互式报告生成可点击的代码度量报告Edit Definition编辑定义直接打开代码编辑器修改该文件Add to Favorites添加到收藏Compare比较与另一个文件进行代码差异比对Add to Architecture…添加到架构…将该文件归类到某个架构视图中Remove from Architecture从架构中移除Annotate注释 / 标注显示代码的版本历史或作者标记Refactor重构对代码进行重命名、提取方法等重构操作Explore探索快速浏览相关代码Find In…在…中查找例如在整个项目中搜索该文件或符号Browse Metrics浏览度量查看代码复杂度、行数、扇入扇出等技术指标Copy Fullname复制完整名称复制文件的完整路径或全限定名该实体可以是类名可以是类的成员就看你的鼠标在哪里左击然后右击弹出菜单。举例1鼠标在类名上左击后右击然后会跳转到工程里如下举例2鼠标在类的成员上左击后右击4.2.2 类图显示选项Aggregate Nodes by按…聚合节点是类图显示的排列方式。Include Standard Libraries包含标准库指将系统自带的库文件也纳入聚合。Layout布局可能指按照某种布局算法来聚合。Show Class Details显示类详情。Show Related Classes显示相关类。Show Return Type显示返回类型。Show Solo Classes显示独立的类不参与聚合的单例类。4.2.2.1 类图显示排列顺序在类图页面的任何地方右击,选择Graph的Aggregate Nodes by如下选择Architecture: Directory Structure会按照文件在文件夹目录中的物理存储结构来组织和聚合显示节点。所以它会按照目录下聚合显示各个节点类图生成不过我发现它可以按照目录下个各个类进行排列不影响继承关系但是目录下多个类多个类定义文件时它只选择一个名字显示但是只是显示名字可能不太对而已如上图显示的vp_expr_check_node.h这2个类在2个h但它只显示vp_expr_check_node.h无伤大雅 不影响跳转。4.2.2.2 类图显示包含标准库关闭标准库的类图显示会轻量许多。