OverView

最近试了试新的方法
在学习一段代码的时候,抄代码。

因为平时都是使用别人的函数,一目十行的习惯,只求输入输出,不求内部构成。把代码都当作黑箱来使用。
在学习的时候就会不自觉跳过一段稍微难理解的部分,或者是一行短小难见的调用。

在抄写的过程中,会给大脑留出时间思考,同时也能够注意到平时注意不到的代码。

通常抄写这部分之后,就可以画出大致的流程图和各函数之间的关系了。

Example

抄代码不止是代码,注释中的例子或者 sample 也可以抄写。
在抄写实例的时候,同时思考的是这个代码的使用流程和它的适用范围。

通常抄写完实例之后,就可以将之前画的图简化,同时能抽出该代码的核心部分表示出来了。

Exercise

用刚才给大脑留出的时间使大脑思考出的各种代码想法和小应用可以写出小 demo 。
写完之后可以看看自己构思使用的途中出现的实际问题,
然后照着问题可以把学习的代码包装成自己想用的模样啦。

VIa.

附上抄的照片
Learn From Code And Record - 图1

Record

通常一些博客会记录博主的学习代码记录,但是非常纪实,就像记日记一样。
换句话说,技术性不强。当阅读这种博文的时候,就像是自己在用别人的思维方式看要看的东西一般,很难顺利延拓想法和应用,只能说快速的学习了这个应用方式或者提前预知了要踩的坑,甚至使用的时候,该踩的还是要踩坑。
还有一类技术类文章,写出来就像是源代码的使用文档一样,有些会提出可能的坑,有些不然。

我的想法是既然要记录,一定要首先保证对自己技术方面等有用。不会污染自己的记录池,不然连自己都不愿意在里面翻找了,或者说翻找的时间和找到的收益不对等,还不如自己重新再看。

通常会有的是一图胜千言的说法,这也是很多人崇尚的,到处都能找到就不再赘述了。我就只说说我的观点。

图一定要画,但一定要简洁明快,表达的是核心,无论是代码的核心还是当时想法的核心,出自自己之手通常都能快速想起。
也就是说可以随手画图帮助理解,但是做记录的图要多精炼几次,精炼的同时其实也相当于又看了代码,即使只是在精炼这一小块图。