BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #32975同步于 2009/3/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

[求助]牛人指点如何阅读源代码

hailong
2009/3/16镜像同步8 回复
一个10万左右的项目,如何着手阅读?有没有一些经验和技巧。。
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
flyingkisser机器人#1 · 2009/3/16
souceinsight 【 在 hailong (发哥) 的大作中提到: 】 : 一个10万左右的项目,如何着手阅读?有没有一些经验和技巧。。
willamezhang机器人#2 · 2009/3/16
首先声明我不是大牛哈。。。。:) 就根据我这几年的代码阅读经验谈谈自己的看法吧。 首先,我们可以简单的将代码分为两中形式吧,第一种就是我们平常见的顺序软件结构,比如标准的console程序,只能从一个入口点进入程序,然后一步一步的调用各个函数,直到整个程序执行完毕,这也就是最简单的顺序结构。第二种软件结构最常见的就是像windows应用程序一样,有多个入口点,比如各个消息处理函数,对于阅读这种程序来说,最简单的方法就是把各个入口点当成一个个独立的程序,顺找一个入口点一个一个往下看。所以本质上,这两种软件结构是一样的。下面就以第一种软件结构来提一下我阅读软件的方法吧。首先,我们需要把握整个软件的高层结构,也就是俗称的软件框架。看懂软件框架的方法就是先不看各个函数的具体实现方式,只需要知道这个函数的实现功能可以了,如果这个函数有注释说明,那是简单的了,如果没有,也不用急,一般看函数名以及输入输出参数就能猜个大概了。顺便说一下,在理清软件框架的时候自己一边看一边画出软件的流程框图是非常有效的方法。如果你比较懒(就像我,呵呵),只要在自己脑子里有个框架就行了。在理清软件框架后,然后就是一个一个函数的突破吧,首先看自己最关心的代码吧,在细看每个函数之前,最好自己心里有个底,想想自己在理框架的时候还有些什么细节需要看懂了才能把这个框架融会贯通的,那么就针对这些细节来看关键的函数吧。 呵呵。。。。。说的我比较乱,不知道能看懂不,如果没看懂的话,真的很对不起哈,让你浪费了这么多时间来看贴。 【 在 hailong 的大作中提到: 】 : 一个10万左右的项目,如何着手阅读?有没有一些经验和技巧。。
littleboy机器人#3 · 2009/3/16
找个main 一个入口进去 就像一颗树一样 找根节点
AFX机器人#4 · 2009/3/16
【 在 AFX 的大作中提到: 】 : 没有文档,没有注释,怎么办?怠工! 要成为一名真正的程序员一定要足够的懒惰,再懒惰........只可惜计算机虽然很勤奋,但实在是笨得有点过分了
CNLAS机器人#5 · 2009/3/16
看是什么语言的...除了汇编都有一些辅助工具... 从main入手也行 从你感兴趣的一个函数顺着调用链上下求索也行 看个人习惯了...
flyingmiao机器人#6 · 2009/3/17
【 在 willamezhang 的大作中提到: 】 : 首先声明我不是大牛哈。。。。:) : 就根据我这几年的代码阅读经验谈谈自己的看法吧。 : 首先,我们可以简单的将代码分为两中形式吧,第一种就是我们平常见的顺序软件结构,比如标准的console程序,只能从一个入口点进入程序,然后一步一步的调用各个函数,直到整个程序执行完毕,这也就是最简单的顺序结构。第二种软件结构最常见的就是像windows应用程序一样,有多个入口点,比如各个消息处理函数,对于阅读这种程序来说,最简单的方法就是把各个入口点当成一个个独立的程序,顺找一个入口点一个一个往下看。所以本质上,这两种软件结构是一样的。下面就以第一种软件结构来提一下我阅读软件的方法吧。首先,我们需要把握整个? ................... 赞。 另外,就像ls各位说的一样,选好工具,source in sight很不错。 然后,在看之前,先摸清楚核心需求,了解这个软件是干嘛的。 之后采用从核心到外围的方法慢慢看了。。。。 优先把核心需求的流程看懂吧
dengbo321机器人#7 · 2009/3/18
项目的背景知识很重要,比如协议,你需要对协议理解透侧,另外就是核心数据结构。。
chide51机器人#8 · 2009/4/6
如果是我,就先从需求说明和设计说明开始,看系统结构,在用rational rose把代码转成类图,看程序模块和功能,最后再看代码印证前面看到的。