本文作为 Vue3 源码系列的开篇词,以问答模式来诠释为什么程序员要学习源码
1. 为什么要学习源码
浏览优良的代码的目标是让咱们可能写出优良的代码
其实就跟咱们写作文一样,你看的高分作文越多,写出高分作文的概率就越大
大部分程序员都只会写代码(改,抄,stackoverflow
工程师,代名词: 搬砖),会浏览代码的很少,为什么呢?因为国内所有的教育,网课,培训都没有教你怎么去看代码,只教你怎么去写代码
再者基于当初的程序员工作模式 (模块化开发,只须要拿到需要做本人的局部),别说看源码,甚至就连我的项目里的代码都懒的去看,我意识的很多程序员就是这样的,一个我的项目摸了两三年,你要问他我的项目中webpack
都干了哪些事件,他的答复是不晓得,反而踌躇满志的通知你,那些他素来都用不上,看了也没什么用,也看不懂,这里省略心田千字脏文
浏览代码其实就咱们跟浏览一本小说一样,看过玄幻小说能力说进去修仙,看过都市的能力讲进去穿梭
浏览次要目标 是为了帮忙咱们 积攒素材,不要书到用时方恨少,看到美女咱们应该能有一万种词语去形容,如气若幽兰,美艳不可方物,一笑倾城,再笑倾国,世间尤物,而不是简短的几个字,我艹,美女!
- 那么为什么非要看源码呢?
后面有提到优良的高分作文看多了你能力写进去高分作文,你天天看着 0 分作文,那么写进去的大概率也天然是 0 分作文,什么样的作文算是高分呢?这个很好辨别,后期从众就好
不给本人设限,不要让你四周人的技术下限成为你的下限
很多时候,人会潜意识给本人设限
井底之蛙是大家应该都相熟的故事,大多数时候咱们会给本人画一个圈,将共事的技术跟本人的技术做比照,或者将 TL
的技术跟本人做比照,常常有人向我吐槽说,共事的技术不如他为什么工资比他高,TL
的技术也不怎么样,为什么能成为TL
,当初给你的答复是,“ 因为你认为的并不是你认为的 ”
咱们齐全没有必要把工夫破费在这种毫无意义的事件下面,扭转不了环境就扭转本人,学会破圈,为什么总有人说北上广深适宜守业,因为北上广深的风水爆炸还是空气陈腐?显然都不是,在北上广深无非就是让你的人脉更优质一些,下限更高一点,你的圈有多大,将来的设想空间才有可能更大
- 你始终将本人跟共事比照,那么你共事的下限就是你的下限
- 你拿尤大跟本人比照,那么尤大的下限就是你的下限
功利性的浏览源码
功利性即指有目的性的,明确晓得本人干完某一件预先能失去什么样的回报,所以首先你要晓得你想得到什么?
看每一本书都有明确的目标,想学会理财,就得看理财相干的书,想学点技术,就得看点技术相干的书
看源码也是一样,你对 vue.use
之后产生了什么比拟好奇,或者是你感觉当初面试都须要会看点源码,这都很好,至多你有明确的诉求
凡事只有有了功利属性,才更容易走的上来,否则就是真香正告
2. 源码应该怎么浏览
单点冲破
这种状况个别在是本人写需要遇到问题了,或者忽然一时衰亡想看看内脏的同学,能够间接粗犷的找到源码的仓库,间接在该仓库搜寻关键字,而后依据含糊搜寻的后果再联合本人的了解抉择适合的后果,以下以 Vue.use
为例,如下图
咱们能够看到第一个后果就是.spec
(Standard Performance Evaluation Corporation,规范性能评估机构 bai) 能够了解为代码的试金石,优良开源代码的标配,间接代表着代码的稳健性
点进去咱们看到的代码如下,从图中咱们就能大抵的猜到 Vue.use
的一些应用场景及边界值
从后果的第四个点进去,咱们就能间接看到源码了,是不是很 easy ?
零碎浏览
即指以我的项目为维度的源码浏览,这种形式比下面的单点冲破价值就要大很多,读完之后,不仅能够晓得执行一个 Api 时具体产生了什么,更重要的是能学习到我的项目整体的设计思维和架构理念
当然,浏览难度也会有相应进步,这里给你四个倡议
- 信心(事事把信心放第一)
- 对你所浏览的代码框架要有根本的理解(不然你读个啥)
- 设定一个打算并自我复盘总结
- 循序渐进,任何事件须要一个过程,由易到难,由浅入深
具体计划
- 抉择适合的工具让代码先跑起来
- 理分明代码组织关系及用处
- 利用好单元测试
- 利弊衡量(该跳就跳,长期处于蒙的状态很容易走进死胡同,能够标记回头再看)
- 利用搜索引擎(能够联合网上的源码剖析材料了解)
- 多跟本人交互(带问题浏览)
3. 本地怎么调试源码
科普一下 SourceMap
这个货色吧,离开念 Source
Map
,一句话了解就是一段保护了前后代码映射关系的json
形容文件,具体故事能够泡杯茶缓缓讲了,这里不过多形容,感兴趣的自行查阅相干文档
有了 sourcemap
文件后,你想 debugger
还是console
,就能够随便了
在 vue3 的 example
中的咱们看到示例援用的都是 dist
文件
只须要将 sourcemap
配置开启,而后就能随便的 debugger
了
最初
接下来让咱们一起漫游在源码的陆地里吧!
近期
Vue 超好玩的新个性:在 CSS 中应用 JS 变量
Medium 2w+ 赞,高效程序员领有的 7 个习惯!