源码分析
  1. 凡是想要了解实现原理的就会去分析
  2. 遇到有趣的就更要上了
  3. 难也没关系, 来一个干一个, 来两个宰一双 ><
  4. (算法, 操作系统, 计网, 编译原理, 设计模式, 软件工程, 数学(机器学习, 图像处理))

目的

学习实现原理, 代码组织, 满足好奇心

分析方法

  1. 需要有小的 demo 展示在最开始的地方
  2. 必须配置好相关环境, 部署好代码
  3. 检查代码结构, 确认入口
  4. 对于比较简单的, 走一遍流程, 困难的, 针对各个函数
  5. 分析功能的实现的最简执行单元, 判断参数重载, 错误捕捉等其他部分
  6. 对其进行总结, 评价

对于比较难的, 不要光看, clone 下来撸一会再简单实现一下, 必须要用复制下来看
看到一个 console.error 打印堆栈的方法
现在 19.11.5 暂且对参数重载, 错误捕捉等不做要求, 假定所有输入调用常见且规范

代码好坏评价

  1. 功能特性
  2. 执行性能
  3. 可读性
  4. 文档与注释
  5. 可扩展性

关于可读性, 如果没有复用就不要分出函数来, 另外函数行数也不应该过长,最多80行, 3~40合适(等经验多了再看看)
19.11.6 - 没有踩过坑, 可扩展性部分较难判断出来
代码之外的, star数, 更新频率, issue
看看更加成熟的观点 - 精读《12 个评估 JS 库你需要关心的事》

文章作者:
文章链接: https://luckyray-fan.github.io/2019/11/04/源码分析/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 luckyray