「这是我参与2022首次更文挑战的第40天,活动详情查看:2022首次更文挑战」
为什么学源码
1. 增强解决问题的能力
学习了源码后,知道底层的实现可以避免踩坑,提高效率开发效率、程序运行效率。譬如知道了组件的更新机制,我们是不是可以把一个大的组件中经常需要更新的内容抽出来,做成一个小组件,这样每次更新的成本就底了很多。
2. 加深理解
学习源码也可以帮助我们加深理解,我们可能在网上看到一些零碎的知识点,经过源码学习,可以把知识点串起来。
3. 成为团队当中知识面广的人
前端技术的不断发展,作为一个开发者能与时俱进,走在别人前面掌握新技术,并且能在团队中分享,能给职业加分。
4. 面试需要
面试前端高级岗位时,面试官少不了要问框架底层实现的问题。双向数据绑定是怎么实现的?说说 diff 算法?如果没学过源码大概率答不上来。
5. 掌握一门技能
学习源码的同事也掌握了一门深入学习的能力,我们再来学习其它框架时可以融会贯通。
学源码的学习方法
学习源码要有章法,杨村长千叮万嘱,学源码要找到一条主线,不然你就会迷失在代码的海洋。很不幸我就迷失过,被各种细节吸引了过去,缓过神来已经找不到北。
找到一条主线
- 写一个简单的 vue3 代码
- 思考怎么跑起来的
- CreateApp
- app.monut()
- 数据什么时候发生变化
- 数据更新:异步更新策略和 patch
画一张思维导图
学完了后画一张思维导图,对学习的总结,这也是以后复习的资料。如果没有总结,久了可能就忘了,通过总结可以帮助回忆学过的知识。不然知识你都好像有印象,但是记不起来,学会等于没学。
提出一个问题,在源码中找答案
当主线已经了解后,把分支走一遍,了解更多的细节,这样对框架能了解得更全面。
造一个轮子
把学到的知识实践一遍,增加理解。
讲述一遍
把学到的知识讲述一遍,写文章或录视频,写和说的过程中自己的大脑会去思考、整理知识,这也是一个锻炼的过程。面试的时候、和别人交流的时候都要说得出来。