说在前面
今天分享下为什么要看源码以及怎么看源码,更多精彩请关注天河聊架构微信公众号。
言归正传
我认为看源码有以下三种层次和目的
知其然也要知其所以然,为了快速解决遇到的棘手问题
一门技术只是会用没什么用,只有熟练了才有用,用了一门技术遇到问题怎么去快速解决,一般解决问题的能力能直接体现你的综合能力。因为有的棘手问题不是短时间能解决或者说不是能顺利解决的,你需要利用你的技术广度和深度再加上你以往解决问题的经验。
我们虽成为不了北乔峰,但可以学习南慕容,最后要成为杨过
自己要会造轮子先要学会别人怎么造轮子,天龙八部中南北两大高手,北乔峰是天资很好靠名师指点最后成为江湖顶级高手,南慕容是靠学习各大帮派的武功也成为了高手,射雕英雄传中杨过从蛤蟆功开始学起,中间经过神雕指点成为江湖高手,最后自己悟出黯然销魂掌终成一代大侠。
向乔峰一样天资聪明,武功根基良好的人并不多,大部分都是资质一般,要靠后天勤学苦练,在学习中不断悟道,总有一天也能有成。
学习源码也是一样,看一遍看不懂很正常,看一遍有一遍的理解,看不懂就在看一遍,直到看懂为止,看的过程要多思考,子曰:“学而不思则罔,思而不学则殆”,这个地方为什么要这样设计,如果是你应该怎么设计,怎么才是更好的设计,学习别人的设计思想,你可以实现一个优秀的框架。
术生道,道生术,术中有道,道中有术,道术相连才能生生不息
这里的术指的是架构设计模式,道指的是架构思想,两者是相辅相成的,只有思想不去实践你的架构设计是落不了地的,只有在不断实践中去理解、思考架构设计思想,得到的架构思想再去实践,架构师不是一个职位,是一个角色,你用架构师的思想去思考问题解决问题你就是架构师,没有更好的架构,只有合适的架构,好的代码不是写出来的,是改出来的,架构也不是一层不变,好的架构是演变而来。要想成为一个好的架构师,学习和实践是我们一直坚持要做的事情,慢慢的你会提炼出自己的架构体系,假以时日,你也可以成为大侠。
最后分享下怎么阅读源码
学习框架
学习源码的基础最好是对这个框架有基本的了解,如果已经熟练使用那是最好的。不要着急先去看功能怎么实现,要弄懂实现原理,框架是怎么搭建的,有哪些基础组件组成,组件之间的关系是什么。
先由面到线再到点去学习,后由点到线学习
对整理框架了解之后,可以在针对某一个面去学习框架是怎么运行的。先对框架有整体了解之后再去由面到线再到到点去学习,完成这个之后,再有点到线学习就简单多了,如果是为了解决线上问题,到这个层次就够了,后续可以带着问题去在源码中找解决方案。
学习架构思想
在由面到线到点学习完成之后,这个层次可以从系统架构层次去学习源码,如果你功力深厚可以从这个层次开始学习完成之后在到达第一个层次。
说在最后
本次解析仅代表个人观点,仅供参考。