不懂就要问:阅读他人代码的时候,有什么工具可以画出函数或者类之间的层级调用关系?

2020 年 6 月 25 日
 liuguangxuan

在阅读他人的项目代码时,都是徒手在 A4 纸上画出类或者函数之间的调用关系,来梳理出来逻辑。想请问一下各位老哥,有没有好用的工具可以使用?

目前用的开发工具是 Clion,C++项目。

如果各位老哥有更好的阅读项目代码的经验可以传授,感激不尽。

7463 次点击
所在节点    C++
19 条回复
zyzhang
2020 年 6 月 25 日
source insight
hankai17
2020 年 6 月 25 日
source insight
hejingyuan199
2020 年 6 月 25 日
感谢楼上两位的推荐,太棒了。可是我一看价格 239 美元。这么贵?有便宜的办法吗?
pezy
2020 年 6 月 25 日
sourcetrail
Hallujah
2020 年 6 月 25 日
Mindjet
2020 年 6 月 25 日
想到几点:
1. 用 UML 建模,相关软件有很多
2. IDEA 等 IDE 是有这个功能的,能够自动化绘图
3. 纸其实也有很大优势,非常随意,做做草图比大多软件都好用,如果不喜欢纸张可以用数位板
hejingyuan199
2020 年 6 月 25 日
@Hallujah 哈哈。我买了个大白板,在写字台旁边。大白板超级爽的。
liuguangxuan
2020 年 6 月 25 日
@pezy #4 感谢大佬推荐。咋一看 ID 好熟悉,才发现当初是看着您的 GitHub 把《 C++ Primer 》刷了一遍。没想到在这儿能碰到。
liuguangxuan
2020 年 6 月 25 日
@Mindjet #6 感谢推荐
Newyorkcity
2020 年 6 月 25 日
@Mindjet idea 有这个功能?能具体说下吗?
nightwitch
2020 年 6 月 25 日

Sourcetrail
nightwitch
2020 年 6 月 25 日
续上楼,开源免费
yanqiyu
2020 年 6 月 26 日
打个断点看调用栈也不失为一种通用方法...
nuk
2020 年 6 月 26 日
IDA,debug 可以直接记录指令流。。。
12tall
2020 年 6 月 26 日
IDEA?
jakezh
2020 年 6 月 26 日
Sourcetrail +1
XanderChen
2020 年 6 月 26 日
或者你干脆开个思维导图,一边梳理一边做导图,
imBossa
2020 年 6 月 27 日
@Mindjet idea 有这个功能?能具体说下吗?
hardwork
2020 年 8 月 13 日
自动调用图表?没这么智能的 ide 吧,有很多运行时决定的调用关系根本没法静态全分析吧。
看代码只要有全局搜功能,声明,实现跳转,find all reference 这些功能就够了,这个任何 ide,或编辑器像 vscode 加个插件就能实现了。
其它的分析还是要靠理解,文档,业务逻辑和调试日志了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/684717

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX