源码阅读原则
源码阅读原则
不是绝对的,只是提供一种大致的思路
见名之意
大致的了解一个类、方法、字段所代表的含义
切入点
明确你需要了解某个功能A
的实现,越具体越好,列出切入点
,然后从上至下的分析
分支
对于行数庞大、逻辑复杂的源码,我们在追踪时遇到非相关源码是必定的,可以简单追踪几个层级,给自己定一个界限,否则容易丢失目标,淹没在源码的海洋中
分支字段
追踪有没有直接返回该字段的方法,通过方法注释,直接快速了解该字段的作用。
对于没有向外暴露的字段,我们追踪它的usage
:
数量较少:可以通过各
usage
处的方法名大致了解,又或者是直接阅读源码数量较多:建议另辟蹊径,实在没办法再逐一攻破
分支方法
首先是阅读方法注释,有几种情况:
涉及新术语:在类中搜索关键字找到相关方法或类
涉及新的类:看
分支类
非
功能A
相关:略过
分支类
先阅读理解类注释,有以下几种情况:
涉及到新的领域:通过查看继承树的方式,大致了解它规模体系和作用
不确定和
功能A
是否有关联:可查阅官方文档或者搜索引擎做确定
断点调试
动态分析的数据能够帮助我们去验证我们的理解是否正确,实践是检验真理的唯一标准
usage截止点
当你从某个方法出发,寻找它是在何处调用时,请记住你的目的,我们应该在脱离了强相关功能方法处截止,继续usage
的意义不大。
比如RecyclerView
中scrapOrRecycleView
,我们的目的是:寻找什么时候触发了回收View
应该在onLayoutChildren
处停止,再继续usage
时,你的目的就变成了:寻找什么时候布置Adapter
所有相关的子View
作者:土猫少侠
来源:juejin.cn/post/7100806273460863006