很多人觉得读源码太难了,其实有方法。
为什么读源码
- 文档会过时,代码不会骗你
- 理解为什么这样设计,而不只是怎么用
- 写出更符合框架设计哲学的代码
- 为贡献开源项目做准备
怎么读
1. 从入口开始
找到 main 函数或请求处理的第一行代码,跟着调用链往下走。
2. 画调用图
不用工具,纸和笔就够了。每个函数的功能用一句话总结。
3. 忽略细节
第一次通读时忽略异常处理、日志、参数校验。这些会干扰对主流程的理解。
4. 修一个小 bug
找一个 good first issue,试着修复。修 bug 是理解代码最快的方式。
推荐阅读顺序
- 入门级:Redis 源码(代码极其简洁,C 语言)
- 进阶:Netty 核心模块(Reactor 模式的教科书实现)
- 高级:Spring IoC 容器(设计模式的集大成者)
心态
不要期望一次就读懂全部。每次带着一个问题去读:「这块代码是做什么的?」「为什么要这样设计?」。
读源码最大的收获不是「看懂了什么」,而是「发现原来这么复杂的东西也是普通程序员一行一行写出来的」。
评论
评论已关闭。