花了三天时间看完了一篇顶会文章的代码,半抄半写复现了一下,也算是给整出来了。
平常我看的文章所包含的代码量也就三四百行,这篇文章的代码有1200行,一下子翻了好几倍。加上作者这篇代码写得不是很好,有些代码段要比平时花几倍的时间才能明白写的什么。
经历了一番折腾,有3个小感悟需要记录一下:
1、基础是重中之重。先前我所阅读的原版本胶囊网络代码是所有的基础,看后来这些变体代码的时候,每当看不太明白的时候,就有意识地去对比一下原版的代码,如此都会有所启发。倘若让我上来直接就整这1200行的代码,我觉得我是怎么都看不明白的。
2、结硬寨,打呆仗。一开始看到这么长的庞然大物,内心是畏惧的,再一看到其中有些代码段也看不懂时,就觉得自己应该彻底看不懂这份代码了。实际上当看不懂代码的时候,不要怕懒,单把那一段代码拿出来跑一个实验,往往也都会有收获。这样不断看懂一个又一个小代码段,在积累信心的过程中也可以逐渐拼凑出了整个版图。
3、比看懂代码更重要的是记忆。有时候虽然我代码的每个部分都能看懂是干什么的,但是我还是很难对代码整体有个全局的认识。一个原因是,我只是停留在看懂的阶段,并没有精确记住在整块代码中所扮演的角色。这样我就一遍又一遍地去阅读子函数的功能,但是不管看了多少遍、表面上那些代码看起来多熟悉,我还是没法不能把他们拼凑起来。事实上,看懂代码段是时候,应该要多记忆一下其在整个代码中应该处于什么样的作用,这样看完所有细节之后,自然就会有整体感。
很多时候,多花点时间,多花点精力,看似速度会慢一些,但是这样的效率往往更高,省得了很多重头再来的功夫。
网友评论