阅读代码的一些心得(2)

【通用篇】

0. 我的一句话心得:“看代码有时候和阅读外文文章一样,先泛读,了解文章大意,再精读,了解单词语法。”

1. 了解代码的命名规则:代码一般都有自己的命名规范,比如cl打头表示类,E打头表示枚举,函数名前会带返回值类型等等,掌握这些命名规则,可以很方便的知道这个变量或函数的信息,加快看代码的速度,另一方面,对再开发也有很多好处,因为再开发一定要遵守代码中原有的命名规范,我想这也是程序员不成文的准则之一吧

2. 遍历工程结构:在实际看代码前,最好先看看他的solution结构和工程属性,包括哪些工程是lib,哪个是startup proj,工程和工程间的关系是什么。另外,看工程结构也可以大致了解代码中包括了哪些部分,有的项目是以工程来分的,有些是在一个工程中,用folder filter来分的。

3. 以main函数为开始点:和程序运行一下,看代码也可以从main函数开始,一般main函数会分为几个部分:初始化,主逻辑,销毁。初始化可以快速的了解代码中有哪些模块,主逻辑为今后阅读重点,销毁部分基本可以不care。另外,一些库的源代码,可能没有main函数,那就可以结合lib提供的Sample逐渐深入。

4. 拆分代码:一般代码是一个有多个部件组成的,阅读时需要拆分,比如win32窗口程序,一般是控件驱动,大部分的feature代码都可以在处理控件的消息中找到相应的线索,所以就可以按照控件的功能来阅读,逐步到具体实现方法,再比如stl源码,因为本来各个部件就比较独立,就可以按照头文件的分类逐步阅读。

5. 关心值得关心的:代码中有很多无用的信息,比如打印debug消息,profile,assert等等,代码中可能还有很多被称之为guard的代码,就是保护代码,也可以无视。当然,要从一大堆代码中取其精华,去其糟粕,需要一定的经验积累。

6. 用写者的角度思考:阅读代码,必须一直想几个问题,“如果是我,我会怎么实现?”,“作者为什么要这样写”等等。因为看代码如同阅读别人的逻辑思维,只有投入和思考后,才能产生共鸣。

(待续)

相关:

—> 阅读代码的一些心得(1)(工具篇)

————————————————————————
作者:Finney
Blog:AI分享站(http://www.aisharing.com/)
Email:finneytang@gmail.com
本文欢迎转载和引用,请保留本说明并注明出处
————————————————————————

(已被阅读2,524次)

发表评论

邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Copyright © 2011-2020 AI分享站    登录