主题:[讨论]阅读前辈留下的大块头代码
JackieRasy
[专家分:3050] 发布于 2010-07-21 14:02:00
只好来请教各位了,实习中,老大交给一大坨代码,整个工程有233M,没有任何文档,几乎找不到一行注释,请各位给点提示吧,分享一下代码阅读的经验,希望自己可以快点上手,少走弯路~@
最后更新于:2010-07-21 14:06:00
回复列表 (共12个回复)
沙发
yxqyrh [专家分:1070] 发布于 2010-07-21 15:32:00
哥前几天发过和你一样的帖子。。
板凳
cgl_lgs [专家分:21040] 发布于 2010-07-21 16:07:00
从程序的各个入口点出发,如:界面响应,数据输入等部分开始。
渐渐进入处理、控制等部分~~~~
3 楼
Chipset [专家分:16190] 发布于 2010-07-21 18:23:00
先弄清这些程序用来干什么用的,再找主函数看看有哪些模块,然后具体到每个模块干什么用的。
4 楼
雪光风剑 [专家分:27190] 发布于 2010-07-21 20:03:00
诀窍就是按照使用手册或者相关文档跑一遍,想办法把业务流在脑子里重现出来,然后尝试重现数据流
然后把代码里的函数名按关键字大体分下类,最后把两边尝试对起来,对不上来的函数再去理思路,这样会好一些
5 楼
JackieRasy [专家分:3050] 发布于 2010-07-21 22:00:00
哎,别提文档或是手册了,代码基本上连个注释都没有~~·
今天头晕吐血一天了
6 楼
JackieRasy [专家分:3050] 发布于 2010-07-21 22:02:00
模块NNN多,根本不知道模块之间的关系要如何组织起来,哎。
7 楼
cgl_lgs [专家分:21040] 发布于 2010-07-21 23:00:00
2百多M全是源码么?那编译不得至少要两小时?
其实再怎样复杂的程序,总归还是有输入、处理、输出这三个最基本的部分(在界面控件上显示也算输出)
所以可以兵分两路,由两头包抄中路:)
假设输入数据是一堆,那你就选其中一个较简单的入手,全局走一回,看看都有哪些地方用到:)
并且在分析代码时或之前先想想,如果是您自己,那对于某个功能你会怎样做:)
这样就会事半功倍了:)
8 楼
雪光风剑 [专家分:27190] 发布于 2010-07-22 07:12:00
[quote]
哎,别提文档或是手册了,代码基本上连个注释都没有~~·
今天头晕吐血一天了[/quote]
代码本身没文档,编译出来成型的软件也没有么……退一步讲,只丢给你代码,没人给你讲过这个东西是用来做什么的么……要真是这样,拜服了……
9 楼
cgl_lgs [专家分:21040] 发布于 2010-07-22 07:40:00
对了,还有一个非常有效的方法:
先学会用这个软件,然后再开始读,这样会好很多,因为会用后你就能猜出大概的思路了:)
10 楼
JackieRasy [专家分:3050] 发布于 2010-07-22 08:52:00
嗯是的,说得很好啊,一开始我就是对着Debug生成的东东左点右点,折腾着整出 界面的布局逻辑和响应逻辑,然后找到响应函数,设置断点去跟踪》。。
就是很多断点一跟踪起来都没个结尾一样,函数调用嵌套得太深了!!@
我来回复