作者:imgss 出处:http://www.cnblogs.com/imgss 欢迎转载,也请保留这段声明。谢谢!
步子太大容易扯淡
这句话说的实在太对了,对于我这种野路子的更是深有体会。拿前端来说,知识结构对于原先一窍不通的我来说算是比较复杂的。github上有技术栈或者点亮技能树之类的东西,可以看出来,由于这几年前端的知识体系一直在更新,稍微一不注意就容易out了。
扯回来,当完成一个知识点的学习,跳到另一个知识点的时候,如果后者所需的知识点你都知道,这叫做循序渐进,比如学完dom去学jquery,基本不会觉得吃力。但是如果js根基不深,想去看jquery源码,恐怕就容易扯着蛋。这个时候,就要有以下技能来帮助了(个人见解):
- 重复
- 搜索
- 练习
重复
古人云:书读百遍,其义自见,这句话是有道理的。读书这种东西也是因人而异,有的人开挂,可以过目不忘。有的人开挂,可以一遍理解。但大部分我们这种凡人在接受新的东西的时候都不一定一遍就能懂的。尤其是在碰到知识相对于你目前的知识结构跨度比较大的时候。
所以这个时候,第一就是要找一本好书来看,你能看的进去,尽管第一遍不甚理解。如果作者字里行间还不失幽默,深入浅出就更好了。选对一本书,或者看到一篇大神解读的文章,就成功了一半。
然后,就是重复。就我而言,看一本书,尤其在不懂的时候,一定是会跳过一些看不懂的东西,先往下看的。但是当我们通读一遍再回来的时候,可能就会对不懂的知识点莫名产生一种亲切感。
这里的原因很多,可能是第一遍看的时候走马观花,也可能是看到的后面的知识起了作用,帮助了这个点的理解。
然后就觉得它没那么陌生了,这就是重复的作用。它让你的脑子一遍一遍地去接受这些东西,一开始你的大脑是拒绝的,但是经过几次调教之后,大脑可能就会习惯和理解它。
重复的另一个作用就是补漏。一些重要的知识点,可能当时理解了,然后大脑就把他抛到娘家了,这个时候,重复就能加深记忆。这个是小时候背课文的时候经常做的。
总结起来,重复可以逐步帮助加深理解,可以加强记忆。
搜索
我不知道还有哪一门专业在网上的学习资源能比计算机还丰富。
在没接触编程之前,我觉得百度文库是最大的在线学习资源分享的平台。。。起码对我大学的专业来说,是这样的(也可能是我还不知道互联网的博大精深)。但写代码不一样,从博客园,C博客,开源中国,segmentfault,到stackoverflow,github,还有阮一峰,张鑫旭,到处有乐于分享的前辈用他们的文章和回答指引着你前进。
步子太大的时候尤其需要搜索来答疑解惑。比方你看vue框架,基础是学过jquery(说的就是我),别的类似的框架一点都没接触过。看单文件组件之前的基础篇还凑合,但是到了单文件组件这部分开始,就开始懵逼了,好在作者很友好的告诉你要去看ES6和学会用npm,webpack。于是你开始搜索电子书,博客,答案,先把这个难啃的骨头放下,去了解这些基础知识。当你达到要求再回来的时候,忽然觉得就没那么难啃了。
然而,搜索引擎可以帮忙搜索,却不一定总是能将最能解决你问题的告诉你。也不会告诉你哪篇文章会让你茅塞顿开,哪篇会让你依然一头雾水。这个时候就是见证你搜索功底的时候了。
我的经验是,平时多收藏一些大神的博客,有好多问题,他们都在自己的博客里为你解答过了,总比百度一页一页翻好的多,而对于英文的报错,stackoverflow要靠谱的多。
练习
练习绝对是加深理解的有效方式。掌握一个小的知识点,不妨写一个小demo,掌握一个大框架,不妨写一个小项目。
练习的过程就是加深你对知识理解的过程。解决问题的过程就是你发现和修补自己知识漏洞的过程。
提问
提问之前先要学会提问,提问之前要尝试自己解决,是不是想过了,是不是搜过这个问题了。这样既锻炼自己的能力,又节省别人的时间。