我是如何读源码的

1,808 阅读2分钟

今天有小伙伴群里问我该如何读源码,问题和解答如下,希望对大家有帮助:

问题:那如何正确的看源码,最近想看redis,不知道从哪方面下手。

回答:你首先要知道你要看的源码做了什么,是你的话该如何做,带着这种思考再去看,从顶层的设计开始,摸清整体节奏,也就拿到了骨架,然后再丰富细节,也就是代码细节。我自己的话 现在是培养出了语感,基本上看到代码大概就知道对方下一步该怎么设计,怎么实现,偏差很小。

不管怎样,还是要多看,不要怕,语言是用来表达的,代码就是最好的教程,很多优秀的代码库都是抄的,这个我在解读reactor-netty库的时候,有将它和Reactor的代码设计做对比,很明显的设计抄袭,Springcloud function这个组件,说实在的也是函数式技法的总结使用,这些技法在reactor reactor-netty webflux中都有大量的实现,所以Spring才给抽取出来。

撸代码就和写文章一样一样的,写之前列大纲,设定所描述场景的内在联系,表达的中心思想,然后融入各种技巧,比如比喻,拟人等等,最后也就是通过这些赋予文章的灵魂。

还有一点,我是觉得,读源码少用debug,这个是面向过程的读法,最好是面向场景,才能更好的面向对象,面向设计。debug从来都是用来做调试的,并非是看源码的最优选择。

github.com/muyinchen/s… 我的源码解读系列,感兴趣的可以看看,虽然都是关于响应式这块的,以后的话,会加入大家感兴趣的。

最后,感谢微信群 后端圈 提供的良好的学习讨论的环境。同时,有对Java响应式编程感兴趣的同学可以加qq群523409180一起讨论的。