阅读源代码, 同数学同任何一个知识密集型行业的吸收过程一样, 是一个在反复地读了忘忘了读的旅程
记得本科时, 从清北毕业的教授泛函分析的李老师说过一段闲话: 再来教你们泛函分析, 对我来说是个重新拾起来的过程数学就这样, 反复地做反复地读, 反复地习得这个技能, 然后又反复地忘掉那怎么办呢? 真要再用的时候再看看呗, 拾起来就好了
我想, 阅读源码是同样的, 你不用那么费尽心力去叹息去责备自己为何会忘记曾经熟稔的技术细节等到要用的时候, 又不得不重头开始事实上, 大家都会忘记忘记了, 在用的时候拾起来就好
我想, 这里真正让人泄气的一个问题是: 既然终究会忘掉, 那不如一开始就不要学习? 但这便是 tricky 的部分你读过的东西, 忘掉, 表面上什么都没得到但事实是, 你的技能, 你对很多抽象的观点, 会有具体深入的体会与理解你会有切肤之感, 进而它会以直觉的形式成为你潜意识的一部分以此为基础, 再去做触类旁通的相关事务, 才懂得如何切入有的放矢
当然, 阅读源码的挫败感, 还在于它本身所需的大量基础知识造成的复杂性往往, 优秀的源码是由一系列的精妙技术组合而成但并没有这样一套体系或者类似于打怪升级的系统去告诉你, 哪一套是适合初级选手, 哪一套适合进阶选手于是, 那些隐形的看不见的缺乏阶梯, 横亘在了你的进步之路而你又浑然不知也即是, 读不懂它, 仅仅是因为你和它之间缺乏的阶梯太多了而已没有银弹, 将那些缺乏的知识阶梯补上后, 你自然可以读懂
更何况, 如同阅读文学名著一般年少的阅读, 中青年的阅读, 以及成为了半个写作者的阅读, 其对文本的理解和关注点都各有不同不存在一种捷径或者参考列表, 可以容纳对这个文本的所有理解和探索方式倒不是说作者心思缜密, 故意埋藏多个伏笔在那里而是写出来的文本是头脑的磨刀石, 它的作用是一扇引导门, 启发你探索自己本身这扇门的背后通往哪里, 完全由自己的阅历和思维敏锐度决定或许作者并未有某个方向的意思, 但是, 你却会因为那一句话, 接合曾经的种种经历, 进而完成自己的悟道
阅读源码是同样的, 你企图一下子要弄懂这段代码背后的所有技术, 并不现实且不说某些代码背后的知识量之巨让人生畏, 你能够在这段代码当中读到多少东西, 取决于你自身的技术高度和思想境界好作品的阅读效果, 不完全取决于作者, 更取决于读者本身阅读是一个读者和作者的共同创作的过程读者本身的素质, 会极大地影响最终的阅读产出
所以, 这其实是一个漫长的反复不断地细品过程, 急不来想通了这点, 便可以更为从容地去读这份代码用个比喻讲, 如果你不得不通读 5 次实践 5 次, 才能够达到下一个 level 的通悟那么, 知道了你不可以跨过第三个包子而吃到第五个包子的这一事实, 便可以老老实实按部就班地从第一遍读起来然后把剩下的焦虑托付给时间
从这个角度讲, 阅读源码这件事真的没有银弹, 要依靠你的苦功夫和硬本领, 去慢慢同它熬岁月不要总想走捷径, 这只会减缓自己的成长欧几里得早已点出, 几何之中, 并无王者之道应该拿出做数学的勇气, 拿出干苦力的踏实, 一点点缓慢进步要知道, 理解和习得一项本身就很复杂的技能, 其本身就需要这么多的努力付出
那为何你在数学上又有如此的勇气和魄力, 去阅读那些一天甚至几天才能进展一页的大部头呢?
为何可以如此耐心?
来源: https://www.cnblogs.com/kid551/p/8426074.html