如何阅读源码

  不要指望有大神现场来带你,大神本来就很少而且很忙,研究优秀框架的源代码是提升的一种方式。如何阅读源代码就是一个问题。

 首先不管你喜不喜欢,阅读源码必须坚持,坚持不下来,什么样的阅读源码技巧都是枉然,因为这是时间的保证。下面是我总结一些的感悟

1.先看手册的api,了解大致的构架
 
2.不要一开始就想把所有的细节搞清楚,一口吃个胖子!而是每天研究一部分,由外向内,层层分解,一步一步调试!
 
3.实在看不懂的可以查看别如何理解,或暂时放一下!
 
4.做好读书笔记或写blog分享
 

有人对对看源代码的人进行了分类

1) 解决问题型

这种类型的人通常是在工作学习中碰到了一个很费解或很棘手的问题,

文档也看了,google也找了,同事、同学也问过了,

但是问题还是无法解决,于是不得不把源代码下下来,然后一边看一边debug,直到问题解决。

2) 三分钟热度型

可能是看到别人也在看或者在论坛上看到某些人说XXX设计得很好,性能也不错,或者看到某些人在论坛上发了些分析源代码的文章,

再加上自己一开始也兴趣满满,然后也跟风了,看了10来个类的代码,啊,发现太痛苦,方法之间调来调去的,太绕了,头快炸了,

给自己找个理由,这代码写得太垃圾了,妈的,不看了。

3) 一知半解型

网上经常看到有人在写分析源代码的文章,一上来就是一陀陀的源代码,然后告诉你这做了什么,那做了什么,

就加了点中文注释,有时这中文注释还不如源代码中的英文注释好理解,然后过了一段时间,发现文章不更新了,也没有后续了。

4) 真才实学型

像原作者一样思考,能轻松说出此开源项目的核心架构,精确理解80%以上的源代码,能找出bug并能提交相应patch,

5) 创新型

对此开源项目的优缺点了然于心,能够提取其精华为我所用,想出更好的方案解决现有问题,超越原作者。

我属于除了 4和5 以外的人

原文地址:https://www.cnblogs.com/liuzhang/p/2853639.html