关于阅读源码

当我们对一个框架一个组件一门语言十分熟悉的时候,有追求的人都不会止步于只是熟练使用这个工具,而会更加深入地去了解这个工具背后的逻辑还有原理,这个时候就涉及到阅读作者源码的问题了。

本篇的诞生是由于在阅读当前大热的vue源码的时候,感觉代码虽然看得懂,但好像又不懂。懂的更多的是语法上没问题,甚至有点优雅;不懂的是,怎么会有这个思路,为甚么这一步之后就到了那一步。因为有此疑惑所以就有了这篇思考

读源码应该带着什么的目的去读?
读源码之后应该收获什么?
读源码的过程应该注意什么?
读源码我们应该避免去妄想什么?

读源码应该带着什么的目的去读?

这个因人而异,主要是看自己的想法。

*可能只是单纯地想提高自己码code的水平,向大神看起
*某个实现很优雅想深究他的原理
*了解框架背后是否用了什么不为人知的技术
*提高自己封装代码的能力

读源码我们应该避免去妄想什么

了解作者的整个思路?

  • 完全明白源码的每个细节
  • 自己也封装一个类似的框架

读源码之后应该收获什么?

  • 代码的组织,封装技巧
  • 一些新的技术,框架,辅助代码的东西
    *框架背后的实现流程
    *框架背后关键API实现的原理

阅读的顺序

  • 从package.json 的入口开始
  • 留意在浏览器中的表现
  • 从最早的地方打个断点,在debugger里面一个个地去跟踪每一个函数
  • 在代码的最深处打一个断点,然后去读每一个call stack 调用栈。
posted @ 2017-12-16 08:42  dosir  阅读(196)  评论(0编辑  收藏  举报