最近想梳理一个已有的 C++ / Qt 项目,希望借助工具生成一些便于理解和交接的文档,主要包括:

- 总体架构和模块职责说明。

- 模块之间的依赖、交互关系。

- 核心业务流程图、关键操作的时序图。

- 文档中的结论能对应到具体代码,方便核查。

试了一下 Understand-Anything ,它的知识图谱和业务领域分析比较接近我的需求,不过在 C++ 代码分析方面有问题, Alpha::run() 和 Beta::run() 这样的同名成员函数,提取出的函数名称和调用图中的调用者都变成了 run ,没有保留所属类信息。

所以想问问大家,有没有用过比较合适的开源工具或组合方案?

比较关注这几个方面:

- 对 C++ 支持比较好,能处理头文件与源文件分离、同名成员函数、模板等情况。

- 能结合代码生成模块职责和业务流程说明,而不只是列出函数调用关系。

有试过 clang-uml 、CodeGragh 、GitNexus ,感觉效果都一般。

主楼