如何高效地学习开源项目
开源项目对团队和业务有很大好处,但对于技术人员来说,如果只是简单的采取"拿来主义",那就变成一个陷阱:看似很快的用开源项目实现了需求,但自己的技术水平并没有什么提升;甚至可能出现看起来用了很多开源项目,知道很多项目名称,但技术水平止步不前的窘境。
- 源码不是第一步,而是最后一步。
技巧
- 安装
- 系统依赖组件(系统设计和实现的基础)
- 安装目录(使用和运行的基本信息)
- 系统工具(方便我们使用)
- 运行
- 命令行(具备那些能力和系统将会如何运行)
- 配置文件(修改配置文件,看下系统变化)
- 原理研究(系统性)
- 架构图
- 关键特性的基本实现原理
- 优缺点对比分析(类似系统对比,实现差异,不同实现的优缺点)
- 研究手段
- 通读项目的设计文档
- 阅读网上已有的分析文档(多方对照,比较内容共同点和差异点)
- Demo验证(查不到资料,又不能确认)
- 测试(实际项目采用开源项目使用前)
- 结合业务场景进行验证
- 源码研究(不建议通读源码):灵活安排
- 带着明确目的研究
- Demo调试,查看完整堆栈
经典源码项目:spring,netty4,redis
笔记
-
标注和记录:将重点和关键部分标注或者摘录出来
-
归纳和整理:将内容提炼,按照主题分类总结
-
思考和总结:思考为什么,作者说的是否有不对的,或者片面的地方等
每个季度只学习一个开源项目,将开源项目研究透彻。
评论