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

2020-06-25 17:58:31 +08:00
 liuguangxuan

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

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

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

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

Sourcetrail
nightwitch
2020-06-25 23:58:29 +08:00
续上楼,开源免费
yanqiyu
2020-06-26 00:01:28 +08:00
打个断点看调用栈也不失为一种通用方法...
nuk
2020-06-26 00:20:53 +08:00
IDA,debug 可以直接记录指令流。。。
12tall
2020-06-26 08:20:26 +08:00
IDEA?
jakezh
2020-06-26 09:58:58 +08:00
Sourcetrail +1
XanderChen
2020-06-26 13:02:40 +08:00
或者你干脆开个思维导图,一边梳理一边做导图,
imBossa
2020-06-27 15:26:47 +08:00
@Mindjet idea 有这个功能?能具体说下吗?
hardwork
2020-08-13 20:56:34 +08:00
自动调用图表?没这么智能的 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