读源码真的有用吗?为什么读完源码写的还是一坨屎呢?
那么就来听听我读源码这两年都读了什么源码,真的有效果吗?
框架源码读取路程
- 实习阶段,开始读公司框架的源码
- 转正期间,开始读Spring的源码 https://blog.csdn.net/u013076044/column/info/17942
- 一年左右开始读Dubbo的源码 https://blog.csdn.net/u013076044/column/info/23907
- 现在在读Mybatis的源码 https://blog.csdn.net/u013076044/column/info/37672
读源码真的有用吗?
- 能提升自己的自信心,这么复杂的源码都能理清,还怕什么搞不懂的
- 提高问题解决能力,当出现什么问题的时候,都可以通过分析源码来解决
- 可以借鉴复杂流程的设计思想,比如Spring的扩展点设计
- 可以更详细的了解框架为了解决某些问题而做出的一些设计,如Mybatis设计缓存,Spring设计注解解决依赖配置复杂的问题等
- 可以看到一些巧妙的设计,如链表实现责任链
源码阅读路径
- 明确自己读源码的目的,是为了技术的提升还是解决目前的问题,异或是就是无聊读读
- 理清框架解决什么问题?即为什么需要这个框架,不要觉得每个框架都是理所当然出来的,肯定有历史原因的,如Spring的《Expert One-On-One J2EE Design And Development》
- 整个框架的架构,比如有多少模块,每个模块是处理什么的,这个最简单的就是登陆到官网的主页,一般都有,如Spring
- 找切入点,比如读Spring,我就想知道Spring怎么启动的,那么去找对应的IOC的源码
- 耐心,记笔记,画草图。因为现在就是最枯燥的时候了。
- 思考,与现实工作相似的场景。实在找不到就说明现在写的业务代码还少。(囧)
其实之前写业务代码较少的时候,觉得确实代码能力有点欠缺,虽然读了源码,但是刚开始写的时候还是无从下手,最近感觉有所改观了。
再来一个灵魂拷问
我现在写的代码是不是还是一坨屎呢,那就要看接手我代码的人说了 哈哈