- v0.4 版本, 是flask 项目, 单文件实现, 最后一个版本.
- 代码很精简.值得打印阅读.
- 图1:
- 通读:
- 第一步, 建立对代码的整体印象
- 实际效果有限, 收获 20% 的简单部分
- 略读:
- 大部分模块, 都属于不太重要的.
- 很简单, 读过即可.
- 精读:
- 少数模块, 属于核心模块(通常都是难懂的部分), 需要精读, 花大量时间深入读, 不要畏难.
- 核心模块的代码, 很难懂, 要硬着头皮一点点啃, 否则, 就失去阅读源码的价值. (难点,全没搞懂,等于白读)
- 八二定则: 80%的精力, 应该花在 阅读 20% 的关键代码上.
- 带着问题, 有针对性的去阅读重要模块.
- 教训: 某次面试, 被问到 flask 中 g, session 实现, 发现 记忆很模糊,不敢答.结果回来发现,原来读源码的时候,没有重视这几个点
- 重新带着问题读, 发现深入 核心模块, 收获很多.
- 待着问题读, 通常目标明确, 为了搞明白某些问题, 就会深入读, 不会浮光掠影
- 盲目的读, 通常很多代码, 看过去, 表面上看得懂, 但是, 并没有理解 这些 操作步骤 背后的逻辑和思想.(丢失了最有价值的部分)
- 故书不厌百回读.
- 代码也是, 常读, 常新.
- 温故而知新.
- 能力较弱时, 读很多实现, 就像 初读 "文言文", 都认识, 但是不明白在说什么.
- 能力提升时, 原本看不懂的地方, 读不出来的东西, 慢慢就能多读出一点.
- 能力足够时, 就能读明白 框架源码 每一个角落, 而不会 避重就轻的 缺失 重要部分.
- 切记: 不要以为读了一遍, 就完事了. too young, too simple.