如何高效的学习开源项目?

前言

一个好的开源项目可以提高我们的开发效率,同时它也是一个很好的学习资源,参照大牛的编码风格和原理实现可以帮助我们养成良好的编码习惯,学习到优秀的代码实践。那么我们应该如何高效的学习开源项目呢?

学习方法

学习学习再学习,好的学习方法可以让我们事半功倍,我经过长期对开源项目的学习,总结出了一套学习开源项目的方法----自顶向下,大致思路就是先掌握基本的功能、原理和关键设计之后再去看源码---看源码的目的是为了学习其代码的写作方式以及关键技术的实现

细分的话可以分为五个步骤:

step1-安装

通过安装获取以下关键信息:

  • 这个系统的依赖组件,而依赖的组件是系统设计和实现的基础
  • 安装目录也可以提供一些使用和运行的基本信息
  • 系统提供了哪些工具方便我们使用
step2-运行

特别关注:命令行和配置文件

主要提供了两个关键信息,得以让我们窥视系统内部运行机制和原理:

  • 系统具备哪些能力
  • 系统将会如何运行
step3-原理研究

专门针对原理进行系统性研究

怎样才算系统性呢?

主要体现在如下几个方面:

  • 关键特性的基本实现原理
  • 优缺点对比分析

原理研究的手段:

  • 通读项目的设计文档
  • 阅读网上已有的分析文档
  • Demo 验证
step4-测试
step5-源码研究

源码研究的主要目的是学习原理背后的具体编码如何实现,通过学习这些技巧来提升我们自己的技术能力

带着明确目的去研究源码,做到有的放矢,才能事半功倍,这也是源码研究要放在最后的原因。

这五个步骤的难度是逐渐递增的,一般我们只需要掌握前面三个步骤就可以掌握一个开源项目了,后面两个步骤等学有余力再花精力去学习。不要贪多求快,与其学习若干个开源项目,不如先将一个开源项目搞通透,随着学习的开源项目越来越多,会发现学习起来越来越快,因为很多开源项目的原理实现是有相同部分的,当然这都是需要花大精力去完成的。

学如逆水行舟,不进则退,作为技术人,技术就是我们的屠龙刃,技术就是我们的过桥梯,可以帮助我们实现人生的梦想,以术证道,掌握人生的智慧,才能让我们活得更加洒脱。

你可能感兴趣的:(如何高效的学习开源项目?)