美文网首页
2018-12-21 如何快速学习一个开源项目源码?

2018-12-21 如何快速学习一个开源项目源码?

作者: 昊昊先生 | 来源:发表于2018-12-21 09:09 被阅读0次

你有个任务,需要用到某个开源项目;或者老大交代你一个事情,让你去了解某个东西。怎么下手呢?如何 

开始呢?我的习惯是这样:

1.首先,查找和阅读该项目的博客和资料,通过google你能找到某个项目大体介绍的博客,快速阅读一下就 

能对项目的目的、功能、基本使用有个大概的了解。

2.阅读项目的文档,重点关注类似Getting started、Example之类的文档,从中学习如何下载、安装、甚至 

基本使用该项目所需要的知识。

3.如果该项目有提供现成的example工程,首先尝试按照开始文档的介绍运行example,如果运行顺利,那么 

恭喜你顺利开了个好头;如果遇到问题,首先尝试在项目的FAQ等文档里查找答案,再次,可以将问题(例如 

异常信息)当成关键词去搜索,查找相关的解决办法,你遇到了,别人一般也会遇到,热心的朋友会记录下 

解决的过程;最后,可以将问题提交到项目的邮件列表,请大家帮你看看。在没有成功运行example之前,不 

要尝试修改example。

4.运行了第一个example之后,尝试根据你的理解和需要修改example,测试高级功能等。

5. 在了解基本使用后,需要开始深入的了解该项目。例如项目的配置管理、高级功能以及最佳实践。通常 

一个运作良好的项目会提供一份从浅到深的用户指南,你并不 需要从头到尾阅读这份指南,根据时间和兴 

趣,特别是你自己任务的需要,重点阅读部分章节并做笔记(推荐evernote)。

6.如果时间允许,尝试从源码构建该项目。通常开源项目都会提供一份构建指南,指导你如何搭建一个用于 

开发、调试和构建的环境。尝试构建一个版本。

7.如果时间允许并且有兴趣,可以尝试阅读源码:

(1)阅读源码之前,查看该项目是否提供架构和设计文档,阅读这些文档可以了解该项目的大体设计和结 

构,读源码的时候不会无从下手。

(2)阅读源码之前,一定要能构建并运行该项目,有个直观感受。

(3)阅读源码的第一步是抓主干,尝试理清一次正常运行的代码调用路径,这可以通过debug来观察运行时 

的变量和行为。修改源码加入日志和打印可以帮助你更好的理解源码。

(4)适当画图来帮助你理解源码,在理清主干后,可以将整个流程画成一张流程图或者标准的UML图,帮助 

记忆和下一步的阅读。

(5)挑选感兴趣的“枝干”代码来阅读,比如你对网络通讯感兴趣,就阅读网络层的代码,深入到实现细 

节,如它用了什么库,采用了什么设计模式,为什么这样做等。如果可以,debug细节代码。

(6)阅读源码的时候,重视单元测试,尝试去运行单元测试,基本上一个好的单元测试会将该代码的功能 

和边界描述清楚。

(7)在熟悉源码后,发现有可以改进的地方,有精力、有意愿可以向该项目的开发者提出改进的意见或者 

issue,甚至帮他修复和实现,参与该项目的发展。

8.通常在阅读文档和源码之后,你能对该项目有比较深入的了解了,但是该项目所在领域,你可能还想搜索 

相关的项目和资料,看看有没有其他的更好的项目或者解决方案。在广度和深度之间权衡。

以上是我个人的一些习惯,我自己也并没有完全按照这个来,但是按照这个顺序,基本上能让你比较高效地 

学习和使用某个开源项目。

相关文章

  • 2018-12-21 如何快速学习一个开源项目源码?

    你有个任务,需要用到某个开源项目;或者老大交代你一个事情,让你去了解某个东西。怎么下手呢?如何 开始呢?我的习惯是...

  • 优秀iOS 博客列表

    先挖坑 慢慢完善 开源项目学习Draveness大神对一系列源码的解读深入解析 iOS 开源项目 iOSNoteb...

  • 第三方框架

    iOS及Mac开源项目和学习资料【超级全面】 - 数据库 - 吾爱源码

  • 如何学习开源项目

    如何使用并学习开源项目: 学习和使用开源项目益处多多,对于如何学习和使用,则有一些需要注意的地方。 首先,我们需要...

  • 开源项目源码分析(Kickstarter-iOS )(一)

    @[TOC](开源项目源码分析(Kickstarter-iOS )(一)) 1.Kickstarter开源项目简介...

  • 接触开源

    开源的那些事儿 (一)- 如何看待开源什么是开源以及我的开源经验如何参与到开源项目中去如何开始做一个开源项目?他的...

  • Test

    学习资源 Android 开源项目分类汇总及源码解析 Android 学习资料收集几乎包括了国内各种学习 Andr...

  • Android技术资源整理

    Material Design中文版 数据结构学习 Android 开源项目源码解析 Android View A...

  • Android源码分析

    Android 开源项目源码解析 android-open-project-analysis 这是一个协作项目,最...

  • k8s源码学习——代码结构

    阅读源码是程序员学习的必要方法之一,尤其是一些优异的开源项目,其代码基本可以视为业界的一个标杆,阅读这些项目的源码...

网友评论

      本文标题:2018-12-21 如何快速学习一个开源项目源码?

      本文链接:https://www.haomeiwen.com/subject/mzwpkqtx.html