框架代码阅读


First

框架之所以能称之为框架,一定是在架构设计层面解决了一些问题:例如抽象了开发流程,定制了运行流程,结合设计模式和业务场景做了精巧的设计。

如何阅读代码

1、 弄清项目的框架结构和各个项目模块的功能(输入什么,处理以后输出什么),把握整体流程。

工具: Ant工具。

2、 参照源代码和对应文档及业务知识,掌握各个项目模块的主流程,从每个模块的main函数开始,按照顺序列出所用的函数,试着画流程图。
注意在此处只列出函数的输入和输出,不关心函数内部具体的实现。

工具: UltraEdit32.

3、在进一步熟悉各个项目模块的主流程,要弄清各个自定义函数的具体实现。

4、在每一步都要做好源代码阅读笔记,总结方法和技巧。每个项目的源代码阅读要多读几遍,书读百遍,其意自现。

注意:

看一看master是如何做的。一般,要初步了解人家的框架模型,(这可以通过追踪一些核心函数/类得到一些印象,或者开发文档等);进一步,找到核心数据结构,核心数据结构会直接影响代码的质量。事实上,当你完全读懂它的数据结构时,在来阅读源代码,就是水到渠成的事了。

  • 阅读源代码的说明文档,比如README, 作者写的非常的详细,仔细读过之后,在阅读程序的时候往往能够从README文件中找到相应的说明,从而简化了源程序的阅读工作。
  • 如果源代码有文档目录,一般为doc或者docs, 最好也在阅读源程序之前仔细阅读,因为这些文档同样起了很好的说明注释作用。
  • 从makefile文件入手,分析源代码的层次结构,找出哪个是主程序,哪些是函数包。这对于快速把握程序结构有很大帮助。
  • 从main函数入手,一步一步往下阅读,遇到可以猜测出意思来的简单的函数,可以跳过。但是一定要注意程序中使用的全局变量(如果是C程序),可以把关键的数据结构说明拷贝到一个文本编辑器中以便随时查找。
  • 分析函数包(针对C程序),要注意哪些是全局函数,哪些是内部使用的函数,注意extern关键字。对于变量,也需要同样注意。先分析清楚内部函数,再来分析外部函数,因为内部函数肯定是在外部函数中被调用的。
  • 需要说明的是数据结构的重要性:对于一个C程序来说,所有的函数都是在操作同一些数据,而由于没有较好的封装性,这些数据可能出现在程序的任何地方,被任何函数修改,所以一定要注意这些数据的定义和意义,也要注意是哪些函数在对它们进行操作,做了哪些改变。
  • 在阅读程序的同时,最好能够把程序存入到cvs之类的版本控制器中去,在需要的时候可以对源代码做一些修改试验,因为动手修改是比仅仅是阅读要好得多的读程序的方法。在你修改运行程序的时候,可以从cvs中把原来的代码调出来与你改动的部分进行比较(diff命令), 可以看出一些源代码的优缺点并且能够实际的练习自己的编程技术。
  • 阅读程序的同时,要注意一些小工具的使用,能够提高速度,比如vi中的查找功能,模式匹配查找,做标记,还有grep,find这两个最强大最常用的文本搜索工具的使用。

文章作者: zhangyuanes
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 zhangyuanes !
评论
 上一篇
代码阅读笔记 代码阅读笔记
从.h开始被忽视的#define#define 在学习过程中被诟病没有类型检测,会出现检查不出来的问题,因为只做文本替换不做类型判断,容易出现问题。但是在阅读代码时候,发现#define在简化代码量,增加可读性方面作用很大,能很大程度上简化
2022-09-22
下一篇 
Shell脚本自动化基础 Shell脚本自动化基础
shell介绍Introduceshell是一个程序,是用户沟通linux内核的桥梁,既是一种命令语言,也是解释性的语言。 shell功能 命令行解释 启动程序 输入输出的重定向 管道连接 文件名置换 变量维护 环境控制 shell编程
2022-09-17
  目录