天天看点

《开源思索集》一如何更有效地学习开源项目的代码?

本节书摘来异步社区《开源思索集》一书中的第2章,第2.1节,作者: 庄表伟 责编: 杨海玲, 更多章节内容可以访问云栖社区“异步社区”公众号查看。

开源思索集

说说我的开源学习经历:

1.下载源代码之后,首先要跑起来。编译通过、正常运行。

2.在你觉得最有可能的运行到的地方,设置断点或者抛出异常,这样,就能够找到一个项目在正常运行时的入口点。

3.从入口点所在的那个源文件开始阅读,逐步把握整个项目是如何启动起来的。

4.随便改点代码,看看会不会报错,如果报错,会从哪里报错。

5.试着把报错屏蔽、修复、或者绕开。

6.尝试理解一个系统的内部结构,多少组成部分,主线模块是哪些?辅助模块是哪些?

7.从实际需要出发,修改这个项目,满足自己的某一个小的需求。

在此之前,尽量不要在网络上找答案。

8.看看相关的讨论与心得,看看是否与自己的理解相一致。

9.提交bug fix或者某个新的功能代码。

在学习开源的过程中,有以下几个方面会获得大量的收获:

1.架构与模式

2.开源社区常见的一些惯用法

3.相关领域的结构与算法

总结一点是:学习开源,就尽可能在代码里找答案,而不是在代码之外找答案,那些都是二手的,而且很可能是不准确的。

继续阅读