本文仅提供思路,还需自身有足够的基础。
很多时候通常需要阅读很多源码,当然阅读源码也是有很多技巧的。
通常,根据他人总结的文档,先看整体(目录和类图)再看局部(类和函数)。
对于 Java 项目,就是先查看包的层级关系,然后分析包中类(接口)之间的关系,包括继承、实现、委托、方法调用等,最后再查看某个类具体的属性和方法的具体实现。
对于Python 项目,也是这样,先整体后局部,后核心。遵循先广度在深度,先核心在周围
源码阅读基本步骤
首先是通读官方文档,对框架或项目有个大致的了解
学习一些基础库及联系紧密的方法
找到一个趁手的IDEA,深层沉浸式阅读
尝试二次开发、修源码进行深入理解
源码阅读小技巧
搜索
根据文件名搜索文件/类等搜索
快捷键:shift + shift(连按两次)
字段搜索
局部搜索快捷键:Win: Ctrl + F Mac: Command + F
全局搜索快捷键:Win: Ctrl + shift + F Mac: Command + Shift + F
代码跳转
对应文件跳转
Mac快捷键:Command + e Win快捷键:Ctrl + e
跳转到上/下次光标的位置
查看源码时,经常需要在两个类中来回跳转,这个功能就变得相当实用!
查看上次光标位置快捷键:Win: Alt + ← Mac: Option + Command + ←
查看下次光标位置快捷键:Win: Alt + → Mac: Option + Command + →
调用
查看方法调用树
可以查看指定方法的所有调用方和被调方。
快捷键:Win: Ctrl + Alt + H MAC: Control + Option + H
调用与被调用
方法函数结构
快捷键:快捷键:Win: Alt + 7 Mac: Command + 7