如何高效学习一门技能

我已经不知道收到过多少这样的私信了。
呵呵老师我怎么样才能快速高效的学习程序?
通常我的回答一般都是"多写代码!"其实这是句废话。就和女孩生病的时候男朋友的"多喝热水一样"。
那么如何高效的学习一门技能呢?

上大招:
大名鼎鼎的费曼学习法,顶尖高手都在用的学习法。
你,值得拥有!
其实听说过费曼学习法的人很多,但是真正用的好的人很少。
为什么呢?因为里面有一个很重要的原因,我们待会再说。
先说一下费曼学习法的基本步骤:
1确立目标->2学习理解->3讲解复述->4纠错反思->5检验成果。
我们接下来分别叙述这个过程:
第一步,确立目标
咱们都是接受过九年义务教育的人,这四个字大家基本都是认识的。
但是问题是怎么订立这个目标呢?
不同的人的目标是不同的,比如曾经的地产大亨人家的小目标就是"先挣他一个亿"你的目标和人家一样可以吗?显然是不可以的。
也就是说这个目标是因人而异的,明白了这点之后我们回到目标这个问题上,究竟什么是目标呢?
有的同学说了我的目标是:精通C++。
恕我直言,您这不叫目标,叫理想......
这就好像别人问你长大了要做什么你回答说
“想要做科学家(可能现在都是做网红)一样”。
目:目是眼睛。
标:路标,标识。
合起来就是:眼睛可以看到的标识.直白来讲,你必须能够清晰的看到你所定下的目标。

比如说:今天学习几节课、今天学习哪个知识点、今天完成几件任务。
它必须是在你能力范围内可见的目标.这点很重要。
第二步,学习理解,列笔记
这一步跟传统学习差不多,学习资料里的知识点,把每个知识点理解,记忆,记笔记,把学到的东西整理记录和归纳。
注意:这里面有一个误区:
不要直接背诵书上的叙述性文字一定要经过自己的加工。
我们以C++中的递增(++)运算符为例。
C++Primer中是这么定义的:
递增有两种形式:
前置版本和后置版本.前置版本形式的运算符首先将运算对象加1,然后将改变后的对象作为求值结果。
后置版本也会将运算对象加1(或减1),但是求值结果是运算对象改变之前的那个值的副本。
还记得我在视频中是怎么解释前加加和后加加的吗?
前加加就是奉子成婚,后加加就是正常的先结婚再生孩子。
运算过程就是结婚,孩子就是运算结果。
前面我说的很重要的原因就是这个。
普通心理学上说:如果仅仅是按照书本的叙述逻辑、具体表达来记忆,时效是极其有限的。——这种记忆方式属于机械重复,研究表明:只有机械复述并不能加强记忆.
如何加强记忆呢?你可以把我们的大脑想象成一个存储东西的容器.假设现在我们要往容器中存储牛奶,一种方式是:从牛身上挤出后直接放在仓库,另一种是我们高温杀菌,添加防腐剂,打上包装,之后在放进容器.你说哪个保存时间长?

显然是后者,多了一个什么步骤呢?
加工!
普通心理学上说:
长时记忆是指信息经过充分的和有一定深度的加工后,在头脑中长时间保留下来。这是一种永久性的存储。它的保存时间长,从1分钟以上到许多年甚至终身;容量没有限制。
那么问题来了,如何对信息进行加工?
我的方法是抛开术语,用现实生活中的事情去解释代码。
可能看过我视频的朋友都知道,里面很少有术语.这是我自己的心得体会.而且确实非常有效。
第三步,抛开资料,用纸笔进行复述
在纸上列出你刚才学的知识点,然后把这个知识点讲给自己听,或者讲给别人听,看能否讲明白,然后还要在纸上把这个知识点的解释写出来。
重点是讲的是自己的理解,而不是书本上对于这个东西的定义。
第四步,回顾反思
复述完毕,从新打开书本,资料,看一看自己讲得对不对,如果有不对的地方,反思为什么,哪里理解错了,把错的地方重新学习一遍。
第五步,检验成果
再次复述,如果没有错误,就该检验成果,去网上找相应的题库,然后开始做.如果没有题库的情况下,可以自己给自己出题.然后反复的验证解答的过程.
通过以上的步骤,你就掌握了费曼学习法.也就掌握了快速学习的一个利器.但是方法始终只是一个工具掌握了方法之后还是需要大量的,不间断的,刻苦的练习。

只有经历过地狱般的磨砺,才能练就创造天堂的力量;
只有流过血的手指,才能弹出世间的绝响。
-------泰戈尔《飞鸟集》
共勉!