前言
一个好的开源项目可以提高我们的开发效率,同时它也是一个很好的学习资源,参照大牛的编码风格和原理实现可以帮助我们养成良好的编码习惯,学习到优秀的代码实践。那么我们应该如何高效的学习开源项目呢?
学习方法
学习学习再学习,好的学习方法可以让我们事半功倍,我经过长期对开源项目的学习,总结出了一套学习开源项目的方法----自顶向下
,大致思路就是先掌握基本的功能、原理和关键设计之后再去看源码---看源码的目的是为了学习其代码的写作方式以及关键技术的实现
。
细分的话可以分为五个步骤:
step1-安装
通过安装获取以下关键信息:
- 这个系统的依赖组件,而依赖的组件是系统设计和实现的基础
- 安装目录也可以提供一些使用和运行的基本信息
- 系统提供了哪些工具方便我们使用
step2-运行
特别关注:命令行和配置文件
主要提供了两个关键信息,得以让我们窥视系统内部运行机制和原理:
- 系统具备哪些能力
- 系统将会如何运行
step3-原理研究
专门针对原理进行系统性研究
怎样才算系统性呢?
主要体现在如下几个方面:
- 关键特性的基本实现原理
- 优缺点对比分析
原理研究的手段:
- 通读项目的设计文档
- 阅读网上已有的分析文档
- Demo 验证
step4-测试
step5-源码研究
源码研究的主要目的是学习原理背后的具体编码如何实现,通过学习这些技巧来提升我们自己的技术能力
带着明确目的去研究源码,做到有的放矢,才能事半功倍,这也是源码研究要放在最后的原因。
这五个步骤的难度是逐渐递增的,一般我们只需要掌握前面三个步骤就可以掌握一个开源项目了,后面两个步骤等学有余力再花精力去学习。不要贪多求快,与其学习若干个开源项目,不如先将一个开源项目搞通透,随着学习的开源项目越来越多,会发现学习起来越来越快,因为很多开源项目的原理实现是有相同部分的,当然这都是需要花大精力去完成的。
学如逆水行舟,不进则退,作为技术人,技术就是我们的屠龙刃,技术就是我们的过桥梯,可以帮助我们实现人生的梦想,以术证道,掌握人生的智慧,才能让我们活得更加洒脱。
网友评论