源码阅读

6.24'22

为什么

阅读框架源码可以帮助深入理解和运用框架,提高对语言、技术、概念的理解,优化个人代码风格和设计模式。

有利于参与开源社区,加入协作,贡献源码等。

为创建和管理开源项目打下基础。

如何

原则

自顶而下

了解软件的设计思路和应用场景等,是为了解决什么问题。

找到入口

代码的配置文件、入口文件和启动主函数。

关键节点

源码一般会涉及大量的变量、函数等。优先详细了解关键概念和实现方式。可以先略过一些不太重要的。

相互关系

根据调用关系、依赖等,找出概念之间的联系。

模板化

代码结构不论大小都遵循语法,可以根据语法规则来划分成模板,逐个阅读。

JavaScript 项目

一篇不错的源码阅读文章: Dva 源码解析

入口

  • 文件:package.json, index.js, src/index.js

  • 方法:main, start, run

关键点

重要的模块、包等会优先导入、且出现较频繁,关键字:require, import

工具类关键字:util, tool, plugin,component

关联

函数调用、类继承、对象的属性和方法的传递等。

调试

启动项目,在浏览器开发者工具中进行调试。在Sources中对关键源码可以加断点逐步查看。还可以设置断点触发的条件。

调试条件很复杂时,可以在代码中加debugger关键字, 触发时浏览器会暂停在该处。

if (condition) {
  debugger;
}
📖