文章类型: VC&C++
关键词: C++,VC++,源代码,方法,记笔记软件,阅读,编程技巧
内容摘要:

VC++阅读源代码方法

2016/7/26 14:31:06    来源:apple    阅读:

**********************************************************************************

1、阅读源代码对于程序员来说是提高技术实力和业务知识最好的方法,那么我们怎样阅读源代码就是我们 首先要解决的问题。

阅读源代码就像管理一家大的公司,关键在于管理者卓越的领导意识。作为阅读源代码的人也应该有良好的意识,在阅读源代码时才能事半功倍。养成良好的阅读习惯。

阅读方法如下:

<!--[if !supportLists]--> 1<!--[endif]-->对于一个大的项目,首先要弄清项目的框架结构和各个项目模块的功能(输入什么,处理以后输出什么). 在这一点上Ant工具做的相当到位,通过编写build.xmlxml的良好的语法结构可以清楚的看到框架。Make工具也做比较出色。具体细节可参考GNU Make /Apache Ant Manual.和程序的build.xmlmakefile文件。

2、参照源代码和对应文档及业务知识 掌握各个项目模块的主流程也就是先从每个模块的main 数开始,按照顺序列出所用的函数,试着画流程图。注意:对于列出的函数我们现在只关心输入什么,处理后输出什么即函数的功能,不关心函数的实现,用UltraEdit32最新版阅读时十分方便。

3、以上两步熟悉以后,在进一步熟悉各个项目模块的主流程,要弄清各个自定义函数的具体实现(标准库函数除外 原因:由厂商提供,厂商只提供函数的功能)。

4、在每一步都要做好源代码阅读笔记,总结方法和技巧。每个项目的源代码阅读要多读几遍,书读百遍 其义之见 呵呵 定期与同仁切磋交流。

5、提出更好的解决方案,(按照软件工程的设计步骤)评估方案的性能(界面,易用性,内存等方面).

6、每日构建 具体参考构建工具和相关文挡。

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


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


↑ 上一篇文章:使用UMEDITOR上传图片一直提示上传失败的解决办法 关键词:UMeditor,.net,图片上传失败,Uploade.. 发布日期:2016/5/15 0:29:11
↓ 下一篇文章:Paradox数据库兴衰史 关键词:Paradox,数据库,兴衰史 发布日期:2016/7/27 16:25:25
相关文章:
vc++ ado访问数据库方法 关键词:vc++,C++,ado,数据库,方法 发布日期:2016-09-22 09:52
VC++开发中完美解决头文件相互包含问题的方法解析 关键词:VC++开发中完美解决头文件相互包含问题的方法解析 发布日期:2016-09-26 08:52
VC++之 CreateEvent和SetEvent及WaitForSingleObject的用法 关键词:VC++,线程同步,CreateEvent,SetEvent,WaitForSingleObje.. 发布日期:2017-04-14 11:53
相关目录:.NETVC&C++软件开发资料分享
我要评论
正在加载评论信息......