最近发现自己记忆力下降,学的东西老是记不住,突然感觉自己这几个月看书敲代码都有一些盲目性,很久没有静下心来思考一下方法论这些东西。
代码学习的本质
在我看来,学习=专注力+理解力+归纳力
专注力
专注力的核心是要让自己融入书里面,确切来说,你看的每一句话,每一行文档,你都要知道它在说什么。为了完全控制自己的不走神,最好把手机关机,告诉自己真正想要什么,是想要这一时刷剧打游戏的爽快,还是要未来拿到名企offer的快乐。自控力薄弱的时候多问问自己这些问题,多给自己一些心理暗示。
理解力
很多东西都是看起来似乎你理解了,其实一直停留在表层,就比如js闭包,看一遍你觉得嗯顺其自然就这么回事,但如果停留在这一层,也就是停留在书里面循循善诱一步一步告诉你的一层,而不去想它能运用到什么场景,能解决什么问题,你能否徒手写一个能有实际应用的闭包出来,那你当然会忘得很快。理解的意义是要运用到实际,每学到一个知识点,都应该用博客记录下来,想想这个知识点对自己的代码有什么改进,平常什么时候能用上,要让这个东西成为自己的知识体系
归纳力
归纳的本质是比较后的抽象,比如编程语言有很多,编程语言本质是要编写逻辑代码,所以你要掌握基本语句,基本数据结构,模块化方法,异常处理,IO处理,GUI编程等等 又比如之前用原生JS写组件,写了一两个就会发现大同小异,所以我们要利用归纳法抽象出来编组件的一些注意事项与一般方法,例如基本配置,事件处理,运动变量,变量控制等等。
为了提高归纳力,每学一个知识点,一定要运用比较法,想一想该知识点与前面有什么联系,任何议题的提出都是有原因的,能否把它抽象成一般方法,它的核心思想是什么,把这些记录下来,写成给自己看的博客。
总之,看书看代码要多想想这些问题,方法是能够显著催化学习速度的。