1. 先看官方文档和架构图
优秀的开源组件官方都会维护文档和架构图,这份架构图上或许有一些最重要的组件之间的关联关系、或许哪些功能的调用流程、或许有一些别的东西,但是相信我,这些东西一定都是从总体来描述这个项目的,这个一定是你要阅读源码时第一个要看的
2. 再看项目的组织结构
下载下来代码之后,不要急着开始。先看一下各个包名和包里的类名,对照着文档和类名先简单猜一下各个类的大致作用
3. 找到启动demo,把项目跑起来
阅读源码不仅仅是阅读,要让项目跑起来,去调试它,去观察和改变它的运行路线
4. 找到阅读的起点
很多人都想阅读源码,但是面对庞大的代码库不知道如何下手。这个时候你就要明确你的目标。
可以从启动方法开始、也可以从具体的哪个功能开始。总之要找到你的起点
5. 理清主干
一个优秀的开源软件总是经过了很多工程师很多年的努力孵化出来的,你去阅读它的时候很难把整个软件全部都整明白。所以一定要认准自己的目标,朝着自己的目标去读,当过程中出现一些不太重要的分枝时可以适当的忽略来节约时间
6. 把你的结论记下来
好记性不如烂笔头,我们从小就知道的一句话。包括且不限于笔记、流程图、截图等任何你擅长的工具,把它记下来。另外,最好总结一下重点部分方便面试的时候快速复习
7. 阅读时使用的小技巧
查看类的继承体系
快捷键:Ctrl+H
查看方法的调用层级
优秀的源码往往调用层级很深,当你debug到某个点却忘掉了怎么进来的或者说不知道哪个地方调用了这个方法,只需要在方法名上使用Ctrl +Alt+H
即可查看这个方法的调用层级
查看类UML图
当使用Ctrl +Alt+Shift+u
会在新的标签页中展示当前类的UML继承图
这个继承图相比较于第一个查看类的继承体系外还有以下优点:
- 使用UML图形展示看起来更舒服更全面
- 支持手动排除不相关的类和接口
- 支持展示类的属性和方法等相关信息
- 当你仅仅只关注UML图时还可以使用
Ctrl +Alt+u
在当前标签页浮动显示一个图层
Debug时修改变量
当你在Debug的时候可以使用Alt+F8
唤起这个界面
在这个输入框中,你可以直接修改当前能够看到的变量,当存在以下场景时这个功能真的是绝配
- 当存在很多分支的时候修改某个变量来改变代码运行的逻辑
- 不确定某句代码结果时可以直接在文本框输入,而不需要再次重启程序
记住上方这7点,相信你会变得更加优秀,而我则使用这7点在一个月的时间阅读了Spring的源码:Spring源码解析系列汇总