假如你问一个程序员怎样才能学好编程,可能很多同学都会说:“多敲代码。”
如果你相信了,而且照做了,那么恭喜你:你掉进了一个误区!
因为“多敲代码”这句话只告诉你该怎么做,但没有告诉你怎么做才能做好!
就比如顶级厨师告诉你,要放八角、五香、油、烟等等调料,却没告诉你什么时候放,放多少,你把所有材料都放进去了,做出来的菜照样难以下咽。
所以,很多刚入编程的同学,很容易就会从字面意思去理解这句话,认为“多写代码”,追求像《卖油翁》里善射的陈尧咨和卖油翁一样,以为手熟即可。
因此,告诉你“多敲代码”的人,不会让你一遍又一遍地写无意义的代码。
他们想要告诉你的是:
1、要多想多思考,多写有意义的代码;
2、不断思考,不断优化,变换方法实现;
那么,带着自己的思考“多敲代码”是一种有效的学习方式吗?
根据缅因州国家训练实验室的研究结果,写代码确实是一种有效的学习方法,但不是最有效的。
缅因州国家训练实验室将学习分为两类:主动学习和被动学习:
1、阅读、视听、听力、演示是被动学习;
2、练习,讨论,教别人积极学习。
研究表明,被动学习的效率很差,学习的内容平均留存均不超过30%;而主动学习方式,平均留存率达到75%。
高效的学习分为四步:
1、学习你想要学习的知识点;
2、想象一下,你正要将这个知识点传授给一个人;
3、如果你突然卡住了,那就回想一下,然后继续尝试教别人;
4、如果别人听懂了,那就尝试以一种更易于理解、简洁的语言表达它。
其实,这一技巧同样适合初学编程的你,无论是在培训机构参加系统的学习,还是在网上看攻略看视频学习,学到一个知识点后,不要急着就去“写”,应该先想象一下,如何把这个知识点教给一个小白,如果哪里卡壳了,就说明哪里没有掌握好,就要重新复习一下。
然后,带着“思考”去写代码,“将知识点教授给他人”不仅适合初学编程的热,更适合日后工作中给程序员做调试。
最后,总结一下,本文讲的两个核心点:
1、带着自己的思考去写代码,而不是重复的写无意义的代码;
2、学完一个知识点之后,先不要着急动手,尝试教授给别人!