速读代码

今天看到一些人在网上讨论关于读代码的问题,引发了一些思考。这里我写下个人的一些看法。

可能大家遇到过一样的问题,发现github某款项目的核心思想很好,我们想去了解它具体的实现,但是直接去撸的话发现代码量庞大,甚至有一些奇淫技巧在里面,读起来吃力且费时间,并且因为我们的目的很明确,只想了解它的核心思想实现,不想花费太多的时间在其他方面。

对于这种情况,可以选择的一个方法是翻他的历史记录,去读他的第一版或前几个版本的的代码,通常早期的版本可以用一个词来总结:”麻雀虽小五脏俱全”, 这个版本的代码量通常不多,并且设计的思想很明确,思路很清晰,处理问题具有针对性,这个阶段的源码比较适合我们去了解它的核心思想或者说背后的设计理念,而且一个流程下来我们花费的时间也不多。

至于后面代码变的复杂,因为核心功能确定之后,代码不断的重构和优化,版本不断的迭代,堆叠起来就渐渐的把项目弄复杂。

这或许就是古语中说的:”拨开云雾见月明”。