专栏首页Vue源码 & 前端进阶体系【Vue原理】Vue源码阅读总结大会 - 终

【Vue原理】Vue源码阅读总结大会 - 终

写文章不容易,点个赞呗兄弟 专注 Vue 源码分享,文章分为白话版和 源码版,白话版助于理解工作原理,源码版助于了解内部详情,让我们一起学习吧

研究基于 Vue版本 【2.5.17】

如果你觉得排版难看,请点击 下面链接 或者 拉到 下面关注公众号也可以吧

【Vue原理】Vue源码阅读总结大会 - 终

终于啊终于啊,把 Vue 系列的文章发完了了,如释重负的感jio啊,今天就打算总结下,我这段时间来的历程和收获,本文纯吹水,没有技术含量,各位客官权当娱乐消遣也无谓,来收集个表情包也是可以的

公众号

学习源码用时

花了3个多月读源码,花了六个月 写文章,花了九个月发文章

耗时如下

从 2018 - 9 - 10 开始读源码

然后从 2018 - 12 - 5 开始写文章

然后 2019 - 6 - 2 写完所有文章

然后 2019 - 8 - 19 发完所有文章(也就是今天)

公众号

我不是写了就马上发的,我写完一篇文章之后,要等一段时间之后,再重新审核一遍再发送,这样一来,既可以发现遗漏的错误,也可能可以收获不同的心得

你以为这时间算长的了吗??

其实如果只用晚上下班回去的时间写的话......写文章估计得用一年......我不仅内容追求简单,可以让我们在以后忘记的时候迅速捡回来,我还要追求排版好看(鳖跟我说难看好不喽,我花了很多心思的哈哈),因为我知道排版难看的文章一秒都不想爱看下去....

然后我为什么只用半年呢,我.....不好说....哈哈哈

公众号

不过也算很长了,历时这么长,真的是非常难熬的,在 坚持和 放弃中 摇摆不定,57 篇文章真不是搞笑的啊,差点崩溃了

公众号

幸好给自己定的奖励,一路撑着我走到现在

比如写完这个系列,我打算给自己买双鞋子.....

咳咳,回到正题

阅读源码不难,难的是深度阅读源码

怎么深度阅读呢,就是自己先提前想好一堆问题,然后去源码中找答案,不然一堆源码摆在面前,是会懵逼的

而且当你发现你要解决一个问题的时候,通常你要先解决七八个问题,并且你会碰到好多盲区知识点,这就是最烦的地方

而写文章是烦上加烦了,我不能囫囵吞枣啊,涉及的盲区知识统统都要去了解,所有附加的问题也统统要解决,因为你要更加详细的了解他的流程 并且 理解,没得办法的啊

公众号

不要觉得边看源码然后随便记个笔记就可以了,笔记是应付自己的,你觉得你会花多少精力去弄?

反正我觉得自己看源码时做的笔记,都没能怎么帮助我写文章,因为偷懒没怎么用心去写

所以更加坚定了我写文章的信念,特么的,写的笔记都不想看,我特么时间不是白花了吗,源码不是白看了吗

公众号

我是怎么读源码

我看源码测试,都是直接看一整个开发版的 Vue 文件,而我看网上很多人都是选择看 Github 上 Vue 功能分类好的文件夹

我个人不太喜欢这样,虽然每个文件都相比一整个文件简短不少,功能分类好,但是文件太多,会徒增我的疲惫感和厌烦感

我直接看一个整个文件,直接script引入,有一种爬高山的感觉。直接征服一万多行的代码,爽得黑文

像上面那种,就是像爬很多座小山,个人感觉会累很多,有点烦

而且这样方便我进行调试,相关内容可以看看

【Vue原理】学会调试Vue源码


学习感悟

都不知道写文章有多烦,耗费的时间和精力不是一般的多,比看源码还要多

有时看源码,基本弄懂一个流程就行了,根本不会细致到每一个细节

因为要写文章,我必须精细到每一个细节,完整走一遍流程,生怕自己写的东西不够严谨(虽然可能也会有瑕疵)

有时明明已经写到吐了,还是坚持完成目标,这真的是一个恶心的过程啊喂。

公众号

有时真的想想这样好烦啊,但是,我坚定一个信念

越使我烦躁的东西,越能使我强大

简单的东西,大家都会,凭什么你能更加优秀

难的东西,大家都不会,凭什么你能更加优秀

那我想更加优秀,我就只能从烦入手了,因为烦躁本身就已经帮我筛选过滤了一部分人

那么只要我突破他,那我就可以领先这部分人

因为本来就不是什么很厉害的人,普普通通的程序猴子

你要做的就是去跨越那些烦躁的东西

难的东西你不行,烦躁的东西你还不肯去弄,你竞争个毛啊竞,翻去执牛屎了

公众号

这种烦躁的情绪在 写 compile 的时候特别严重,因为 compile 的源码实在 是太多了,虽然已经是看过一遍并做了笔记,才来写的文章,仍然刚到很吃力,非常吃力

compile 的每一篇文章,大概都花几天的才写完的,最长的可能一个星期,并且在发之前还要审核一天以确保正确性,而 compile 有多少篇文章呢?

嗯,有 9 篇,真的是倾注心血的,我觉得不会辜负看过的人

你问我为什么要分享

1、自己的想法难免有限,肯定会有漏掉的错误,别人可以发现指正你

2、分享自己的成果。一个人不停变好的人,也一定可以让别人一起变好


学习收获

读源码,个人感觉有什么好处呢,简单罗列几点把

1、懂得很多项目细节的处理方法,比如对象合并,比如清空数组

2、更加熟悉这个框架,可以解决遇到的奇怪问题而不会干着急(比如之前碰到的 computed 缓存)

3、学到很多新知识点(MessageChannel,shadow dom)

4、可以让你重新认识旧知识(宏微任务)

5、怎么写出规范又好维护的代码

6、可以看懂别人打包后的代码(笑哭)

7、项目有些问题的处理思路,比如在 Diff 中有个函数,学会了怎么在两个数组中,匹配是否有相同项

在 Vue 源码分享大会的开始,我们也有说过,可以看下

【Vue原理】Vue源码阅读总结大会 - 序


最后

我很害怕自己会写错东西,所以一直很小心翼翼地检查文章,写出一篇文章我不会马上发表,而是等过一段时间再审查一遍,看是否有不通畅,不正确的地方

只能说我的能力有限吧,还是会难以避免地可能存在的错误

看了文章的童鞋,希望能对你们有所帮助

有错误的地方,也请勇于指出,我非常希望有人纠正我哈哈,我会有重酬的!

Vue 系列写完之后,后面可能会更新一些 Vue 的番外篇,比如源码中的一些小功能,但是现在估计会断更一段时间,接着后面会发腾讯前端进阶课程的心得

公众号
公众号

本文分享自微信公众号 - 神仙朱(skying-zhu),作者:神仙朱

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【Vue原理】Diff - 源码版 之 从新建实例到开始diff

    Diff 的内容很多,我们先来探索一下从 新建实例 到 开始Diff 的流程走一遍,本文很短

    神仙朱
  • 【Vue原理】Vue源码阅读总结大会

    阅读源码是需要很多的勇气的,特别是对这种 Vue 源码的框架,十分抽象,使用了好多设计模式,封装得十分精密。很难短时间内能看得明白。

    神仙朱
  • 【Vue原理】Directives - 源码版

    咦,上一篇我们已经讲过白话版啦,主要的逻辑大家应该也清楚了的,今天我们就直接开干源码。有兴趣读源码的同学,希望对你们有帮助哦~

    神仙朱
  • 字节跳动面试官揪着源码一直问,然后......

    最近,我的一位朋友在找工作,已经拿到了美团、快手等公司的Offer,准备选择其中一家入职了。

    程序员追风
  • 如何阅读源码?

    阅读源码是每个优秀开发工程师的必经之路,那么这篇文章就来讲解下为什么要阅读源码以及如何阅读源码。

    武培轩
  • 一篇文章把本该属于你的源码天赋还给你

    "有人阅读过 mybatis 的源码吗 ?就看一个初始化过程就看的已经头晕眼花了,小伙伴们支支招吧!"

    技术zhai
  • 浅析技术写作中的思维误区

    我就是马云飞
  • 阅读源码的意义与方法

    思索了这两个问题良久,也去知乎找了一些相关话题的问答,但并没有标准答案。所以,我这里也只是记录一些我对此的看法,也许会随着 RTFSC 阅历的丰富而发生变化,我...

    mzlogin
  • 直播源码对直播系统开发的重要性

    直播源码有多重要?可能关系到直播平台的稳定,能否正常运行等等,因为源码是一切的基础,虽然网上可以百度出很多免费的直播源码,但是这些源码能否直接用却是个大问题,为...

    布谷安妮
  • 【超实用】面对枯燥的源码,如何才能坚持看下去?

    一个软件开发人员,工作到了一定的年限(一般是3、4年左右),如果他还没学会阅读源码,那么他就会遇到瓶颈。因为到了这个时候的开发,他应该不仅仅只会做那些 CURD...

    陈树义

扫码关注云+社区

领取腾讯云代金券