本节书摘来异步社区《开源思索集》一书中的第2章,第2.1节,作者: 庄表伟 责编: 杨海玲, 更多章节内容可以访问云栖社区“异步社区”公众号查看。
开源思索集
说说我的开源学习经历:
1.下载源代码之后,首先要跑起来。编译通过、正常运行。
2.在你觉得最有可能的运行到的地方,设置断点或者抛出异常,这样,就能够找到一个项目在正常运行时的入口点。
3.从入口点所在的那个源文件开始阅读,逐步把握整个项目是如何启动起来的。
4.随便改点代码,看看会不会报错,如果报错,会从哪里报错。
5.试着把报错屏蔽、修复、或者绕开。
6.尝试理解一个系统的内部结构,多少组成部分,主线模块是哪些?辅助模块是哪些?
7.从实际需要出发,修改这个项目,满足自己的某一个小的需求。
在此之前,尽量不要在网络上找答案。
8.看看相关的讨论与心得,看看是否与自己的理解相一致。
9.提交bug fix或者某个新的功能代码。
在学习开源的过程中,有以下几个方面会获得大量的收获:
1.架构与模式
2.开源社区常见的一些惯用法
3.相关领域的结构与算法
总结一点是:学习开源,就尽可能在代码里找答案,而不是在代码之外找答案,那些都是二手的,而且很可能是不准确的。