如何阅读源代码

俗话说 听君一席话,胜读十年书。阅读好的源码,正如和智者聊天,受益无穷。

那么如何能更加高效的阅读源代码呢?

首先,可以把源码分成两类:
一类是某些功能性的代码,这类代码往往规模比较小,通读一遍一般不需要耗费太多时间。阅读源码的方法想来也简单,只要保持在特定代码上的专注,多投入点时间,攻克它相信不会有太大难度。
另外一类就是大型项目的源码了。这类源码由于其是由多个功能模块组成的,往往代码量庞大,不太可能在短时间内读完。这时候就需要一些方法来解决阅读源码的问题。

下面谈谈我认为阅读这类源码最有效的几个方法。

首先是读源码的开发文档和api文档。文档其实是作者思路的体现,它使我们能对源码架构和功能能有个比较深刻的了解。通过阅读源码的相关文档,经常会发现之前怎么读都读不明白的地方,突然变得豁然开朗!另外,强烈建议直接读英文文档,而非翻译成中文的“二手资料”。英语是程序员的必备技能,英文看不懂怎么办?那就去学,早学早受益!

其次是debug。在debug之前,要先让代码能在IDE里跑起来。sublime,vim等代码编辑器有其自身的使用场景,但个人认为在debug代码这一块并不适合;专业的IDE在调试代码的同时,能够观察变量的值和堆栈信息,能够分析方法和类之间的关系,有助于我们理清思路。除了打断点,还可以通过打印log的方式调试源码。

再然后是做笔记。为了各个功能模块之间的关系,可以通过画类图,画思维导图等方式,将一个大项目层层拆解成多个相对独立的部分,再将它们逐个击破。画类图推荐使用 plantUML,这是一款通过写脚本的方式生成类图的软件,很适合程序员使用。而思维导图的软件就有很多了,我本人经常使用百度脑图和processon。

最后可以多读源码自带的单元测试代码,单元测试的代码相当于项目的sample,包含着功能点和相关用法。还可以自己写单元测试代码,自己实践一遍有助于加深理解。

源码阅读是个长期积累的过程。刚开始的时候可能感觉很吃力,无从下手。但只要通过持续的投入,再辅以正确的方法,就一定能会有收获,会驾轻就熟。
所以,just do it,now!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,268评论 25 708
  • 从来没想过父亲会听我讲故事,谈论了很多关于要去的地方,关于安全、消费、住处、文化。不是第一次出去了,这次有些不一...
    苏霁月阅读 297评论 2 0
  • 前言:这次的作业仍然延续上次的风格,写一封信。我很喜欢写信,就像面对面,一对一的交谈。 亲爱的表弟,6月7日和8日...
    小宝不长高阅读 295评论 0 0
  • 问题描述 开发中遇到了关于Masonry对于Scrollview的contentSize的设置问题。通过阅读Mas...
    W_SN阅读 10,825评论 16 18
  • 文:沙澜 韵:平水韵 昔日一房乱 今时顾影茕 虎龙相继去 坡道又逢卿 场景1: 场景2: 场景3: 场景4: 【P...
    沙澜阅读 275评论 0 8