怎样才算真正看过了源码?
一个好的开源项目要想推广开来,一般会有文档包括 API 文档去教你的怎么使用,怎么理解它的运行原理,没有哪个开源项目的初中是为了让你的读他的源代码。
好的开源项目,看懂核心源代码很容易,如果你仅仅是为了看这个目的,然后面试时去吹 NB,那么这个事本身就没有意义。10 几年前我也看过 Hibernate2,Spring2 的部分代码,现在几乎不会特意为了去看代码而看代码,感觉没什么太大意义。除了为了解决上游源代码的缺陷,自己要深入的时候才去仔细看,比如,当时在写这个例子,仅仅是看相关的代码几个文件 https://github.com/hantsy/spring-reactive-sample/blob/master/war/src/main/java/com/example/demo/AppInitializer.java 。
感觉就像算法不过总有人问 CLRS 看完了没一样。实际上 Google 看完 CLRS 的都没几个人。
建议有别的方式都不直接看源码,教程,分析,设计文档之类的比较好,自上到下的讲解之类的。
就是面试的时候有些人总喜欢问到某个类某个方法,我又没参与开发,源码又是好久以前看的了,能记住思路就不错了,那还记得住类、方法……
我抛转引用玉。主要是解决了啥问题,遇到了这个问题你是怎么解决,怎么设计的,设计的难点是啥?
以后遇到类似的问题你是否也能这么设计,或者用到代码里面的设计?
如果工作中经常用到的开源软件比如 redis 或者 kafka 之类的,读完源码,真的有豁然开朗的感觉,原来他出这个问题,或者有这个限制原来是这个原因哦。
深入了解工作中用到的主要软件的原理,对工作不一定会用到,但是真的很有趣。