你首先要知道你要看的源码做了什么,是你的话该如何做,带着这种思考再去看,从顶层的设计开始,摸清整体节奏,也就拿到了骨架,然后再丰富细节,也就是代码细节。我自己的话 现在是培养出了语感,基本上看到代码大概就知道对方下一步该怎么设计,怎么实现,偏差很小。不管怎样,还是要多看,不要怕,语言是用来表达的,代码就是最好的教程,很多优秀的代码库都是抄的,这个我在解读 reactor-netty 库的时候,有将它和 Reactor 的代码设计做对比,很明显的设计抄袭,Springcloud function 这个组件,说实在的也是函数式技法的总结使用,这些技法在 reactor reactor-netty webflux 中都有大量的实现,所以 Spring 才给抽取出来。撸代码就和写文章一样一样的,写之前列大纲,设定所描述场景的内在联系,表达的中心思想,然后融入各种技巧,比如比喻,拟人等等,最后也就是通过这些赋予文章的灵魂。 还有一点,我是觉得,读源码少用debug,这个是面向过程的读法,最好是面向场景,才能更好的面向对象,面向设计。debug从来都是用来做调试的,并非是看源码的最优选择。我的源码解读系列,感兴趣的可以看看,虽然都是关于响应式这块的,以后的话,会加入大家感兴趣的。最后,感谢微信群「后端圈」提供的良好的学习讨论的环境。同时,有对 Java 响应式编程感兴趣的同学可以加 qq 群 523409180 一起讨论的。
来源:云原生后端社区
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。