第二章前置知识:2.1 源码阅读和调试技巧

243 阅读3分钟

本专栏致力于每周分享一个项目,如果本文对你有帮助的话,欢迎点赞或者关注☘️

React18 源码系列会随着学习 React 源码的实时进度而实时更新:约,两天一小改,五天一大改。

树立正确的源码观:

源码是是程序的实现逻辑,不是完美的,要破除源码就是完美无缺的迷信,不要去膜拜源码甚至尝试去背诵源码。

我们只需要学习到其中你认为最有价值的地方。

学习源码需要注意什么:

理解React的运行过程

理解代码的组织方式,学习和记录对我们编写复杂项目将会产生的很多有价值的启发。

理解数据结构和算法, 熟悉这些数据结构和算法在源码中的实践应用,思考对自己在日常开发中处理类似数据会产生哪些深远的影响。

理解架构的变化,如果能深入体会这些变化的推动因素是什么,会极大的提升我们框架设计和技术选型的能力。

学习源码需要的技巧:

学习复杂事物采用分层的办法,先宏观,再中观,再微观

快速熟悉源码的文件结构,先大致了解每个主要的文件做什么事情即可。

选择一个好用的调试工具,比如可以使用 DevTools 经常调试,以数据为核心,追踪实时变化

经常要去做对比,学会在比较中找到优劣加深对源码的理解,比如Fiber架构出现前后性能的变化

利用好版本控制相关的工具帮助我们了解项目的开发过程,比如跟踪 React 18 的 Git 提交历史。

树立数据结构与算法的意识:

React以至于任何程序本质上都是一个处理数据的过程。那既然数据需要被我们处理,那就必须得采取某种合适的形式来存储和处理这些数据

关于数据如何“存储”如何“处理”数据才更加科学合理的相关研究,已经形成了“数据结构与算法”这样专门的课程。数据以何种方式存储,我们有常见的数据结构:栈、队列、链表、树、图、堆、散列表。数据包括哪些计算呢,其实数据的计算千变万化,算法研究也在不断发展中,但我们可以这样概括,算法的使命是对以某种数据结构存储的数据进行新增、删除、修改、查找、排序操作。

算法的研究是围绕着效率来进行,当然研究算法的前提是对数据结构有深入理解,因为我们对于不同方式存储的数据,需要采用不同的方式进行计算。也就是说数据结构和算法是紧密相连的。

参考链接

关于作者

作者:Wandra

内容:算法 | 趋势 |源码|Vue | React | CSS | Typescript | Webpack | Vite | GithubAction | GraphQL | Uniqpp。

专栏:欢迎关注呀🌹

本专栏致力于分析热门项目,如果本文对你有帮助的话,欢迎点赞或者关注。