说到读源码,让我想一句古话:“读破万卷书,下笔如有神”。
阅读优秀源码如同读名家著作,自己也会被艺术和文化气息所熏陶。在我们阅读了大量源码,积累了许多知识点后,写代码也会更加顺滑。
许多开发者在看到繁冗的源码时直呼头大,但从我多年经验来看,其实阅读源码也是有一定技巧的。下面分享三个方法给大家:
1.找准切入点
我们需要找准一个切入点,不能为了看源码而看源码。所谓的切入点就是一个个小问题,以便明确某个功能A的实现,越具体越好,列出切入点之后从上至下的分析,事半功倍。比如我想要弄懂 Vue 的模板是如何转变成虚拟 DOM 的,我们可以先在官方文档查找资料,看有没有相关说明等。
2.分支方法
对于行数庞大、逻辑复杂的源码,我们在追踪时遇到非相关源码是必定的,因此我们可以简单追踪几个层级,给自己定一个界限,以免丢失目标,淹没在源码的海洋中。比如有没有直接返回该字段的方法,通过方法注释,直接快速了解该字段的作用;比如涉及新术语时在类中搜索关键字找到相关方法或类等。
3.断点调试
实践是检验真理的唯一标准,我们可以透过动态分析的数据去验证自己的理解是否正确。带着目的和问题去看源码,才会具有更高的效率。
优秀源码开源
掌握了阅读方法只是途径,最主要的还是如何去搜集和整理优秀源码。对于Android开发人员来说,要研究和读懂源码还得从广度和深度去挖掘,但网络上信息繁杂,优秀源码解析确实整理不易。
因此,这是一份阿里大佬整理的《Android开发源码精编解析》。
详细VX关注公众号:Android老皮
目录
1.深入解析微信MMKV源码
2.深入解析阿里巴巴路由框架ARouter 源码
3.深入解析AsyncTask 源码(一款 Android 内置的异步任务执行库)
4.深入解析Volley 源码(一款 Google 推出的网络请求框架)
5.深入解析 Retrofit源码
6.深入解析OkHttp 源码
7.深入解析
8.深入解析Okio源码(一套简洁高效的 I/O 库)
9.深入解析SharedPreferences源码
10.深入解析EventBus 源码
11.Android 自定义注解初探
12.View 的工作机制源码分析
13.Android触摸事件分发机制源码分析
14.Android按键事件分发机制源码分析
15.深入解析 Handler 源码
16.深入解析Binder源码
17.深入解析JNI源码
18.深入解析Glide源码
19.RxJava原理及如何封装使用
20.LeakCanary核心原理源码浅析
21.插件化架构定义及插件化架构的实践思路分析
22.热修复设计之热修复原理
最后
除了自己阅读理解以外,我们还要注重思考和交流。
多思考能帮助我们更深刻的理解大师的代码技巧,并运用到自己的项目当中;多与一些大佬交流,能够得到大佬们的帮助,会让你少走很多弯路,并且更容易获得思维和眼界的提升。
最后的最后,希望大家都能够有所获得,在未来的一天也能够到达理想的高度,共勉!!