对于程序员,很多时候都是在分析别人写的代码,不管是项目中的还是开源的更甚至是自己之前写的代码。最近我一直在看别人的代码,C++的,写一下个人心得和理解
首先,我们要明确自己的目的,是要分析一个模块的内部实现逻辑?还是研究类的应用呢?对于一般的人可能最开始的时候就是从应用入手,然后在逐步的深入分析,感觉这样更符合规律把,而且也容易逐步增强自己对代码阅读的信心,读代码有时候是很挫败人的锐气的特别是比较烂的代码关键位置有没有注释。
下面从应用入手提出我理解的三点吧
1. 如果你想分析类所提供给外部的功能,那么就从类的public接口入口,有时候可能要关注下基类的接口,设计合理的继承关系,我们理解了virtual函数就能了解到动态绑定的关系。
2. 理解类之间的关系,要了解类与类之间的耦合关系,看构造函数,构造函数参数能够很说明问题
3. 如果需要深入分析类的实现,要做的第一件事情就是看类型的属性,结合属性一步步深入阅读代码
额以上就是个人的一点理解,一般项目的代码都有现成的使用例子,可以grep别人如何使用。对于C代码阅读本质上是一样的,
看实现要从结构入手,看应用要从接口入手