一个苏州IT人的5年挨踢经历-------经历篇(之四)

6.关于学习方法
       
关于学习方法,其实从中学开始到现在,在这点上自己走过的弯路很多,也吃过不少亏。记得前面回顾自己高中经历的时候,曾经提到过自己高中成绩排名只能属于后1/3,其实在多年后自己总结过原因。我是在一所位于中游的中学里念的初中,记得初中里从来都是不用费多少精力,考前随便一看,每次都是班级前3(更多的是第一),考了第二都觉得丢脸,奖状拿了一大堆,包括市三好学生等。这养成了我一种不太好的学习习惯,盲目自信,光注重考前复习,而复习也是重读内容而不重做做题。这让我到了集中了全市精英的高中后,一败涂地。本来自认为不错的脑袋瓜失去了优势,而学习习惯又一直没有矫正过来,最后的结果大家也知道了。庆幸的是,我在备战考研时总结出了以前自己的问题所在,虽然挽回高中的失败已经太晚了,但是对我的人生来说才刚刚起步,为时未晚。
        
所以第一点我想说得就是:
       
读书不如读代码,读代码不如写代码。
       
这是回顾我以前的经历总结出来的最重要的一条。可能大家也深有体会,当在攻读一些理论性的难点时,总会觉得不管读多少遍,都如雾里看花,掌握不到要领。而当你读到书相关内容源代码后,会有种豁然开朗的感觉,但是过个几个月,你会发现那些内容似乎又变模糊了,而如果你再进一步,自己尝试自己写出一些相关代码并调试验证后,你得理解会更上一个层次,得出你自己的见解,这时候你想忘都不容易。自己就有这方面很深的体会。记得读研那会,看过一些操作系统方向的书,但每次看都觉得自己好像知道了些什么,又好像什么都不知道,心里虚的慌。后来我结合读开源操作系统的源代码后,突然豁然开朗。再后来,我把这个操作系统的源码都移植到开发板上,并自己写了很多相关的移植代码,这让一些操作系统的概念在我脑子里陡然形象了起来,即使现在都没有淡忘过。所以我的建议是,看程序类的书,一定要结合它本身的源代码,然后再尝试自己写些代码,相信这会带给你意想不到的惊喜。另外再有了一定积累以后,可以考虑自己设计些模块并实现下,尝试从理论到实践的转化,这会让你受益匪浅的。
       
当然,这里我要申明的是,只有在你是希望要精读一本书的时候才适用,如果你只是想概要性的了解下,或者你本身已经很擅长只是想查漏补缺的话,不在上面建议的范畴。
       
第二点,怎样高效率的读书
       
这里的读书泛指的是精读,很多人在读一门新技术或者一个新领域的书籍时时,发现学习和读书的效率特别低,有时看了好久都没有太多收获。那么怎么来提高我们读书的效率呢?首先,我不建议去读一本完全对你来说是“新”的书,我觉得如果你要想精读一本书,那最好要保证你已经掌握了这本书至少20%左右的内容了,在这种状态下精读,你的效率会才会比较高。肯定有人不理解,我要学一本新书,我怎么可能已经掌握20%内容呢?确实不可能。那么在这种情况下,就放弃去精读它吧,你可以先通过粗读来概要性的了解一些它的内容,还可以通过网络和其他资料从侧面了解一些,到一定火候也就是前面说的那个20%之后,再尝试精读吧。
   
为什么会这样的,因为人都是有惰性的,当一些内容晦涩难懂,你几遍都攻克不了的时候,会严重影响你读这本书的信心,也会降低你对这本书这门技术的兴趣程度,而且过程会感觉非常痛苦,这肯定不是我们想要的。要知道学一门新技术应该是快乐的,大家应该都体会过那种领会一个难点或未知技术后的发自内心的激动和快乐。那么当你有了前面说的20%以后,你会更容易的激发这种快乐,并能更进一步扩展你的思维,让你事半功倍。
       
当然,这里我要说明的是,随着书的难易度和其他一些因素,这个20%的值也不是绝对的,主要是看你自己的把握。

       
第三点,什么内容精学,什么内容粗读
       
其实这点我在前面说技术选择时已经说明过了,这里在强调一下。学习内容应该有主次,不可能样样学样样精,对前面说过的“适合”自己的,要精学,对扩展性的知识和非主攻方向的可以粗读。特别是一些根本性的技术内容,比如你搞一些主流语言,那么面向对象思想,设计模式等就最根本的,不管你学C++java还是c#,都必须要把它们学精学深学通,这样你即使以后转方向或者学其他技术都不在话下。又比如你搞网络编程,那么tcp/ip模型和基本API就是根本,你弄透了这些,以后不管是Windows,unix,还是linux方向的网络编程都不是问题。所以根本性的,基础性的,框架性的内容要精学,而衍伸出来的其他内容,你可以选择精学一个代表性的,其他的都只需要大致了解就OK了。
  
       
第四点,好书可以读很多遍。
       
这个很多人应该有同感,对很多人来说,书并不是读一遍就可以掌握所有精髓的,所以对好的书,可以反复拿来翻阅,每次都能有新的收获。比如前面推荐过的四人帮的《设计模式》,《TCP/IP详解》,《面向模式》系列,这些都是可以反复拿来看的好书,很多书我都读过多遍,每次都会带给我新的惊喜。而且其实随着你读的次数的增加,每次翻的时间会越来越少,比如《设计模式》,开始前两遍看的时候每次都挺费时间,到现在我有时还会拿出来看,但每次翻一遍的时间应该不会超过1个小时。另外在读书的时候其实可以考虑做点笔记,这会是以后一份不错的积累。

posted @ 2012-04-07 21:00  MXi4oyu  阅读(171)  评论(0编辑  收藏  举报