如何阅读开源代码?

一、通过文档来了解开源项目

通过看文档,你可以快速地掌握这个软件整体结构,它有哪些功能特性,它涉及到的关键技术、实现原理和它的生态系统等等。在掌握了这些之后,然后再去看它的源代码。

强调一点,你必须去看这些开源软件官网上的文档,尽量不要去搜索一些翻译的中文文档。因为中文文档很多都会落后于英文文档。如果直接阅读英文文档困难或者慢,可以找到你需要阅读的文章后,搜索对应的中文版本,先看一遍中文版,然后在对着英文版过一遍。

大多数开源软件,它的官网和技术文档是有一个相对比较固定的结构的。

Kafka 的官网为例,怎么看它的文档:

1、首先需要看Quick Start,安装Quick Start中的指导快速把它的环境搭起来,把它运行起来,这样你会对这个项目有个感性认知,也便于你在后续深入学习的时候跑一些例子。

2、然后找一下Introduction(介绍),一般里面会有项目的基本介绍。你需要找到这个项目用到的一些基本概念或者名词的介绍文档。有些开源项目会单独有一个 Basic Concepts 文档来讲这些基础概念。

3、对项目有个基本了解后,可以看一下它的使用场景、功能特性以及相关的生态系统介绍。在kafka官网中功能相关的内容在Use cases(使用用例)、EcoSystem(生态系统,一般会介绍它这个项目适用的一些典型使用场景,在某个场景下适合与哪些其他系统一起配合使用等)两篇文章中,有些项目中会有类似名为 Features 的文档介绍功能和特性。

在你读完这些文档后,对项目有个整体的了解了,如:这个项目是干什么的?能解决哪些问题?适合在哪些场景使用?有哪些功能?如何使用?接下来就可以去深入学习它的实现原理了。但并不是立即去看源码,一般开源项目都是通过一篇论文发表后,由某个大厂出手实现它,对于这样的开源项目,它背后的这篇论文就是整个项目的灵魂,如果把这篇论文看完并且理解透了,这个项目的实现原理也就清楚了。对于kafka来说,它的灵魂论文是:The Log: What every software engineer should know about real-time data's unifying abstraction,对应的中文译稿在这里:日志:每个软件工程师都应该知道的有关实时数据的统一抽象。学习完项目灵魂,就可以开始阅读源码了。

猜你喜欢

转载自www.cnblogs.com/chjxbt/p/11353167.html