阅读C++代码方法

shihyuyao 2013-12-23 11:39:24
请问大家都怎么去阅读代码会比较快?

1.先瞭解 class 之间关系吗?
2. 相关的 class 在哪些主要文件中, 针对这些.cpp 文件认真看?
3. 哪边 new class ?

目前上面我是自己想的方法, 不知道是否有什么问题或是有好方法?

谢谢
...全文
369 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Adol1111 2013-12-24
  • 打赏
  • 举报
回复
当然是先了解类之间的关系咯。先理解类之间的层次关系,然后再了解每个类的各个接口以及相应的参数、返回值等,最好能根据这些画出类图。当然能有现成的文档就再好不过了,格式上最好是类似Javadoc这种文档。开始的时候,不需要了解源码的细节,等你从整体上了解整个项目,以及各个模块之间的关系、功能后,再来看源码会比较好。 你可以先用Doxygen + graphviz,快速生成关系图。如果自己开发的话,多写写Doxygen注释,可以直接生成类似Javadoc的文档,还是很方便的。
kunkun2013 2013-12-24
  • 打赏
  • 举报
回复
c++代码比较难读。我一般不会着急去看细节,先臆测连带关系。稍微往下看一点,如果不行就退回来印证一下。然后,如此反复。另外一个方法就是先范范的翻一遍,不求甚解,找个大概。基本有个脉络。往往有那么几个函数会非常清晰明确,这是个很好的切入点。有些则是输入输出目标明确,这也是个切入点。 总之跟语法分析没啥区别,自底向上,自顶向下,找到若干关键的展开。有时候需要跳过一些问题,就像考试那样不能一个题不会做下面的就不做的。回过头来再看可能就明白了。 这个能力的要点在于找出关键点,同时训练自己尽量多的能够跟踪更多的分支关键点。必要的时候需要一些笔记。 这里我指的是纯文本阅读。
昵称很不好取 2013-12-24
  • 打赏
  • 举报
回复
引用 8 楼 qq120848369 的回复:
了解业务->了解代码结构->了解具体实现。
赞~~
buyong 2013-12-24
  • 打赏
  • 举报
回复
(1)用ide阅读,而不是记事本。因为ide可以帮你把大段代码折叠。 (2)有条件的话,可以加些断点,运行测试数据,看断点附近的程序执行后内存结果。
qq120848369 2013-12-24
  • 打赏
  • 举报
回复
了解业务->了解代码结构->了解具体实现。
赵4老师 2013-12-24
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试是程序员必须掌握的技能之一。
赵4老师 2013-12-24
  • 打赏
  • 举报
回复
Source Insight
shihyuyao 2013-12-24
  • 打赏
  • 举报
回复
瞭解业务是什麽意思可否说一下, 谢谢
max_min_ 2013-12-23
  • 打赏
  • 举报
回复
先不要看代码细节! 先看代码思路,把代码的业务逻辑整理清楚,然后再看具体实现!@
qdlgdx_lsy 2013-12-23
  • 打赏
  • 举报
回复
最近也在看c++源码。同求。
凌志博客 2013-12-23
  • 打赏
  • 举报
回复
类视图,搞清楚类与类之间的关系。

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧