如何写源码分析?

外国人说,没有银弹。我们则说,没有包治百病的良方。 所以,源码分析首先要了解其应用场景。 我认为源码分析应该包含三个部分:

  • 它解决了什么问题?
  • 它如何解决的?
  • 有没有其它的方法?

它解决了什么问题?

凡事具体问题具体分析。我们需要知道这个框架是在什么情况下产生的,主要适用者是谁。
解决一个问题,我们同时也要知道一些约束条件,如果凡事都没有约束,那么就不存在任何问题了。
在这些约束下,我们需要达成什么样的目标?
为了达成这个目标我们需要作哪些优化或考虑。

它是如何解决的?

这是一个 How 的 问题。
我们需要从宏观和微观层面上了解这个框架。
宏观层面上,也就是说它的架构是怎么样的,是如何设计的?这样设计是做了怎样的取舍。
微观层面上,也就是说细节问题。诸如用了什么奇技淫巧之类。

有没有其它的方法?

正如了解自己的国家需要出国比较一下才能真正清楚。
我们不能吊死在一棵树上,需要看看其他人是怎么做的。
它们比较起来有什么优劣,什么时候该用哪个,这些我们也是需要讲明白的。

总的来说,源码分析就是一个刨根问底的过程,对自己的思维大有裨益。希望大家共同学习。