“你不能光看,要跟着敲一遍。”

这句话你肯定很熟悉,每个教编程的老师或者前辈在教新手的时候都会这么说。

学编程有很多方式和途径,看文章、看文档、看书、看代码、看视频等等。选择太多,以至看不过来,眼花缭乱,不论选择哪种方式,往往都会面临一个问题,明明有些东西已经看得很熟,你问我随口就能答上来,为什么想做个东西出来的时候却没有丝毫头绪?往更深层次挖的时候脑子里也是一片空白?

这就涉及到今天要讨论的话题——代码能看懂,为什么还要跟着敲?

这个问题可分两方面解释:

其一:学习的目的是什么?致用,要放到项目当中,放到实际产品当中,那么就一定涉及到“选型”和“实现”,用什么,怎么用,有哪些需要注意的点和最佳实践方案,这些东西跟纯粹学习记忆是两码事,知识点,概念,看再多遍,也无法自动融合成为具体的、从头到尾的实践经验。

其二:用眼看,很多时候只是下意识地看懂某个点,或者从眼皮子底下过一遍,认为自己看过了,懂了,实际动手大概率会出错,哪怕那个东西很简单。
动手,是一个从眼,到脑,到手,再到脑…这样一个反复验证、思考、推敲的过程,过程中会遇到很多问题,需要重新检查和审视,实不相瞒,本人在练习一些demo的时候就经常在莫名其妙的地方卡壳,跟预想的状况完全不同,只能一路摸索,但一旦整个流程走通了,跟随着,那些知识点就真正进入我们的脑海,零散的知识点才串了起来。

简言之,“动手”就是把“知道”转化为“做到”,把“知识”转化为“能力”的过程,是必经之路,甚至可称为“捷径”。

但也不是练过一两个项目就够了,每个项目的大小、复杂程度,需要用到的知识和方法都会有差别,每一项技能也都不是一条线,而是一张网,所以前辈们才鼓励大家多练,不断地去新增和连接那些点,丰富自己的知识网,逐渐地,才能算是掌握,甚至达到精通一门技术的程度。

近期学习的一点感悟,分享给大家,欢迎交流。