美文网首页
由阅读源码想到

由阅读源码想到

作者: kid551 | 来源:发表于2018-02-07 13:36 被阅读0次

阅读源代码,同数学、同任何一个知识密集型行业的吸收过程一样,是一个在反复地“读了忘、忘了读”的旅程。

记得本科时,从清北毕业的教授泛函分析的李老师说过一段闲话:“再来教你们泛函分析,对我来说是个重新拾起来的过程。数学就这样,反复地做、反复地读,反复地习得这个技能,然后又反复地忘掉。那怎么办呢?真要再用的时候再看看呗,拾起来就好了”。

我想,阅读源码是同样的,你不用那么费尽心力去叹息、去责备自己为何会忘记曾经熟稔的技术细节。等到要用的时候,又不得不重头开始。事实上,大家都会忘记。忘记了,在用的时候拾起来就好。

我想,这里真正让人泄气的一个问题是:既然终究会忘掉,那不如一开始就不要学习?但这便是tricky的部分。你读过的东西,忘掉,表面上什么都没得到。但事实是,你的技能,你对很多抽象的观点,会有具体深入的体会与理解。你会有切肤之感,进而它会以“直觉”的形式成为你潜意识的一部分。以此为基础,再去做触类旁通的相关事务,才懂得如何切入、有的放矢。

当然,阅读源码的挫败感,还在于它本身所需的大量基础知识造成的复杂性。往往,优秀的源码是由一系列的精妙技术组合而成。但并没有这样一套体系或者类似于打怪升级的系统去告诉你,哪一套是适合初级选手,哪一套适合进阶选手。于是,那些隐形的看不见的缺乏阶梯,横亘在了你的进步之路而你又浑然不知。也即是,读不懂它,仅仅是因为你和它之间缺乏的阶梯太多了而已。没有银弹,将那些缺乏的知识阶梯补上后,你自然可以读懂。

更何况,如同阅读文学名著一般。年少的阅读,中青年的阅读,以及成为了半个写作者的阅读,其对文本的理解和关注点都各有不同。不存在一种捷径或者参考列表,可以容纳对这个文本的所有理解和探索方式。倒不是说作者心思缜密,故意埋藏多个伏笔在那里。而是写出来的文本是头脑的磨刀石,它的作用是一扇引导门,启发你探索自己本身。这扇门的背后通往哪里,完全由自己的阅历和思维敏锐度决定。或许作者并未有某个方向的意思,但是,你却会因为那一句话,接合曾经的种种经历,进而完成自己的悟道。

阅读源码是同样的,你企图一下子要弄懂这段代码背后的所有技术,并不现实。且不说某些代码背后的知识量之巨让人生畏,你能够在这段代码当中读到多少东西,取决于你自身的技术高度和思想境界。好作品的阅读效果,不完全取决于作者,更取决于读者本身。阅读是一个读者和作者的共同创作的过程。读者本身的素质,会极大地影响最终的阅读产出。

所以,这其实是一个漫长的、反复不断地细品过程,急不来。想通了这点,便可以更为从容地去读这份代码。用个比喻讲,如果你不得不通读5次、实践5次,才能够达到下一个level的通悟。那么,知道了“你不可以跨过第三个包子而吃到第五个包子”的这一事实,便可以老老实实按部就班地从第一遍读起来。然后把剩下的焦虑托付给时间。

从这个角度讲,阅读源码这件事真的没有银弹,要依靠你的苦功夫和硬本领,去慢慢同它熬岁月。不要总想走捷径,这只会减缓自己的成长。欧几里得早已点出,“几何之中,并无王者之道”。应该拿出做数学的勇气,拿出干苦力的踏实,一点点缓慢进步。要知道,理解和习得一项本身就很复杂的技能,其本身就需要这么多的努力付出。

那为何你在数学上又有如此的勇气和魄力,去阅读那些一天甚至几天才能进展一页的大部头呢?

为何可以如此耐心?

请参看下篇。


近期回顾

志玲姐姐的《十三邀》
2018年01月写字总结
纽约时报的《王国与权力》


如果你喜欢我的文章或分享,请长按下面的二维码关注我的微信公众号,谢谢!

VIP赞赏专区

相关文章

  • 由阅读源码想到

    阅读源代码,同数学、同任何一个知识密集型行业的吸收过程一样,是一个在反复地“读了忘、忘了读”的旅程。 记得本科时,...

  • node.js npm 之 trash

    老狼说要每天阅读10个 npm 源码,我信了你的邪读读读trash源码阅读 由 sindresorhus 编写,他...

  • 由亲子阅读想到的

    一位母亲和女儿一起读故事《卖火柴的小男孩》,当孩子给她深情款款地读完这个故事以后,她俩相视落泪,哭得不可开交。小男...

  • 由阅读所想到的

    如果说睡前是一家人的读书时光,那么清晨就是专属自己的时光。今天早晨我拿起史铁生的《我与地坛》,读到他写母亲所承受的...

  • Python框架之Tornado(概述)

    本系列博文计划: 1、剖析基于Python的Web框架Tornado的源码,为何要阅读源码? Tornado 由前...

  • 由女儿的阅读想到的……

    由女儿的阅读想到的…… 女儿一岁多开始亲子阅读到如今,我们家有将近四年的共读经历。...

  • iOS 系统源码及第三方源码总结

    1.系统源码总结 RunTime源码阅读(一)之weakRunTime源码阅读(二)关联对象RunTime源码阅读...

  • 【源码阅读】Glide源码阅读之with方法(一)

    前言:本篇基于4.8.0版本【源码阅读】Glide源码阅读之with方法(一)【源码阅读】Glide源码阅读之lo...

  • spring源码解读--环境搭建

    spring源码阅读环境搭建 ① 依赖工具 gradle Git jdk1.8 InteliJ IDEA笔者当前由...

  • 由《青春》想到回忆,由回忆想到曾经

    所有的结局都已写好所有的泪水也都已启程却忽然忘了是怎么样的一个开始在那个古老的不再回来的夏日无论我如何地去追索年轻...

网友评论

      本文标题:由阅读源码想到

      本文链接:https://www.haomeiwen.com/subject/rowozxtx.html