个人读书方法总结(..

  • 格式:doc
  • 大小:25.50 KB
  • 文档页数:3

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

{读书}个人读书方法总结(看Jun Yang兄的读书文章后有感而写)

看了Jun Yang的文章,我也想写我自己的读书总结了,呵呵。

不过看这个的前提是:每个人的读书习惯都是不同的,不要随便“全盘”拿别人的习惯来培养自己的习惯,找到合适自己的才是最重要的。“全盘”二字重点,不要全盘接受别人的习惯。我下面所说的也不一定是读到我文章的人所需要的。

我的读书方法,一些是我爸爸培养的,一些是我以后总结的。

1、挑选合适的时间连续阅读。

我也一样不推荐计划阅读。看了Jun Yang的文章,在这一点有些共鸣。

C专家编程的作者Peter Van Der Linden曾经玩笑的解释“什么时候数组与指针相同”这个标题的时候说:

The C Programming Language,第二版(K&R)99页的底部是:

作为函数定义的形式参数,

然后翻到第100页,紧接前一句,

char s[]和char* s是一样的。

呜呼,真是不幸,这么重要的一句话竟然在K&R第二版种被分别印在两页上。

嗯,如果按计划看这样的书,恰巧看到99页,而不看100页,那么100页的关键部位岂不是看不到?呵呵,玩笑。

毕竟连续阅读头脑才有印象。看书不是锻炼,看书不是锻炼记忆力,获取书本知识不能“量化”。

2、快速浏览,然后多看几遍。

这个是我爸爸在我小时候就给我提的,我接受了这个建议到现在。他给我说:书你一遍看完就掌握其中重要的内容是不现实的。但是在掌握之前要有个大概的印象,掌握这个印象的方法就是快速浏览,不要知道某些条目是为什么,需要研究的重点就记下来,第二次看的时候再去仔细看,能理解多少就是多少,第一次要以看完为目的。而真正掌握,是随后的通读,有了第一遍的基础,随着看这本书的次数增加,看书速度会越来越快,因为头脑里早已经知道那些是没有掌握的,已经掌握的就会快速略过,但是会加深印象。此后可以带着实际问题从新来翻阅该书,会有更深的理解。《C++Primer第三版》潘爱民老师翻译的版本,我在2002年购买到现在看了不知道多少遍了。从最初的花了近3个月的浏览第一遍,到现在的可以花一天就可以通读一遍。期间给我带来了不少好处。

曾经非常非常不待见这种方法,自从亲身使用过好感到确实是好方法。特别是一些技术书籍,尽管你第一遍看的很仔细,你仍然不能记住对你来说第一次接触到的概念,读多了(可能跟艾宾浩斯曲线有关吧),记住的概念多了,也就更好理解了。

3、学会记忆也要学会忘记。

记住重点,尽量忘记细节。甚至记住哪本书可以找到这个概念就够了,然后忘记它。每个人对待书的态度不同的,或许与自己的成长经历有关。我的习惯是,记住重点,想了解细节再去查。学会记住很难,其实学会忘记也很难。有时候记忆是一种负担,日积月累会很沉重,不用的知识会越来越多,而且书承载的是作者他的想法,看书在吸收知识的时候,无形中也在被作者所“干涉”思想。但模仿的过程是学习的重要过程,但脱离不了模仿就不能成为自己的思想和知识。学会查是一种重要的手段,还是《C++Primer》,前几天我还就构造函数和析构函数的细节,特别对多继承的析构函数作为重点仔细看了一下,有时候一些类似常用的概念,有很多种形式,平时也就用最常用的,那些不常用换言之特殊的概念,能查就可以了。嗯,看了Jun Yang的第二点,他说“知识存储机器”,呵呵有些夸张了。不过也可以理解他这么说,上面我已经提到书本给我们带来的负面影响了。

“看书”而不是“读书”,读书也是中国常用词语。英语就是read book。很多人都喜欢用嘴去“读”书,或者边看书边自言自语。这是不太好的一个习惯,读是一种干扰人思维的方式。语言虽然能加深记忆,但会影响思考。

4、不要“太”强迫自己。

不喜欢就不要看,看不进去可以极端的选择干脆不看,或者隔一段时间再看,或者静下心来的时候再看,或者换一本同类的书,按照自己需要的知识点来寻找书籍。曾经和朋友交流过,他说《编译原理》也就是那本经典的“龙书”,虽然他也知道很好,可怎么也看不进去,不知道为什么。但是看《编译原理与实践》,他很容易的就看进去了,之后,他根据掌握的编译原理写了一个汇编语言的代码着色器,可以生成UBB代码和HTML代码。

我为什么要突出不要“太”强迫自己这个“太”呢?有时候也需要强迫一下自己,不能太随性,也得掌握一个度。有时候很重要的概念书籍,看起来是很枯燥的,朋友建议看的书,可能有他受益过的地方。比如我看《Structure and Interpretation

of Computer Programs(SICP)》,就是那位只能看《编译原理与实践》的朋友推荐我看的,北大裘宗燕老师已经翻译为中文版。经典的SICP是用Lisp描述的,一本古老的介绍functional编程的书。看一点就感觉很乏味,但稍微强迫一下自己,就知道这本书的优异之处。我就是看了求解费波那契数列的使用递归,以及递归优化那一章,对我以后写任何语言递归的分析,受益那是一辈子的。比如C++之父写的书,就被公认的哲学味太浓,不适合绝大多数人阅读,但我就很喜欢看,书本就是这样,因人而宜,就像配偶一样,自然有适合自己的

一位。

5、有时候需要追根溯源一下,有时候需要换一种角度来看书。

下面是来自:Bejarne Stroustrup在《C++语言的设计与演化》里面有关“引用”这个概念的提出时候的细节,更多的描述见该书裘宗燕老师翻译的版本第56页和第57页:

引入引用机制主要也是为了支持运算符的重载。Doug McIlroy还记的,有一次我向他解释某个预示了目前运算符重载模式的问题。他用的术语引用挑起了我的思绪,我嘟囔了一声谢谢就离开了他的办公室。当我第二天再出现时就带着已经基本完成的目前模式。Doug使我想起了Algol 68。

现在引用机制得到了大家认可,一些崇尚C语言高效,但有些抵制C++的牛人们也称赞了它,这是C++优于C的地方。这里不是讨论语言的,关于这些我就不再多说了。自从我看了这一段话之后,我头脑中所记忆的引用的概念就是“为了支持重载运算符而添加的机制”。嗯,现在可以在很多书或者文章里找到解释这个引用字眼,引用也不仅仅只用在“重载运算符”上。不过追根溯源看了重载运算符这里,什么时候该用指针,什么时候该用引用,我自认为写的代码里用的还算合适。中国人非常喜欢对某个知识追根溯源,如果时间允许的话这是好事,从源头找起,更有助于加深理解。

6、做笔记只是手段而不是最终目的,总结为自己的思想才是最重要的。

看书的最终目的,就是吸收书本知识,成为自己的思想。我个人不喜欢做笔记,我也不喜欢批注,我就喜欢一遍遍的看书。但记住,这是我个人的喜好而已,我父亲40岁之前看书就喜欢做读书笔记,而且很喜欢用没有条格的速写本做笔记,但是现在年龄大了看书多反而不去做笔记,喜欢小批注。喜欢做笔记的人,一般是喜欢把自己想要知道的重点记录下来,可以省却再次阅读书本的时间。或者用纸张记录自己的观点,给自己做自我总结。这是好习惯,但是我自己就是不喜欢,哈哈:)。我喜欢用我头脑需要的概念在头脑中总结,哪怕挑重点的再把这本书看两遍。以前研究COM的时候做过一段时间的笔记,后来逐渐就放弃了。

7、看到好书后不能读死书,更不能信奉为“天书”。看书后不能白看,多多的反思自己,然后有批评的眼光看待这本书,看待自己甚至别人的观点或者代码。很早就感悟到“适度”的重要性,尽量不走极端,包括批评本身。但不知不觉就会慢慢走向极端,这时需要适度的修正自己,应用书本的知识。我听到过许多别人的话,比如C/C++已经过时,JAVA才是最先进的,或者C#有多么多么先进,或者UNIX哲学一派,面向对象就是些花哨的东西C语言就足够用了。这类极端的话有些是自己想的,但绝大多数是人云亦云的跟风和受书本的影响。说JAVA先进的,我会问他,你能用JAVA写操作系统嘛?说面向对象花哨的,我会拿出一些C语言很不容易编写的方面给他看,比如3D

游戏。听到我的话这些人会闭嘴的,总有长处和短处存在。知其然,知其所以然。

8、书面知识是死的,实际应用才是活的,根据自己的需要,活用参考书。

有些书涉及的知识面很广,比如参考书,通读真的很难。如果条件允许的话,寻找一些实际的问题看书,会更好的理解。为了工作,我曾经就快速排序做过研究,也和许多朋友交流过。我带着这个问题翻看了许多算法书籍,包括《计算机程序设计艺术》《C算法》《编程珠玑》之类的经典著作,也参考了许多代码。《计算机程序设计艺术》很厚,我只取其中一章而已,这本书我没有看完,不过里面单独的几章,我看的很仔细。当然,我没看完也没资格给盖茨发简历:)

9、给自己定位,你是否适合从书本获取知识。我有个朋友,他几乎不看技术书,但是他的思维很开阔,很容易理解新概念和方法,我只需要和他说一说他随便上网看看资料就够了。他做的系统很耐用,我也不容易挑出毛病。看书反而限制他的思维方式,这点我拍马赶不上,我只能看看书,呵呵。所以说获取知识并不一定只有看书,朋友们的交流,网络上的论文和资料都是很好的资源。只给自己一个定位,是不是真的适合看书才能增长你的知识。记得以前和tinyfool有过一些交流,此人就是不需要看太多书籍的人。

10、最好能和作者交流一下。现在互联网丰富,我们也可以通过邮件和作者交流了。我研究快速排序的时候,曾经和Julian Bucknall,《Delphi 算法和数据结构》的作者用电子邮件交流过,他给我指出了我理解上的偏差,让我受益匪浅。高山仰止,外加猜测理解,还不如直接去问作者。

最后,就用《论语》里的那句话来总结一下:学而不思则罔,思而不学则殆。

很赞,其中的几个建议也是我的习惯:)

此外,我在学习一个知识点的时候,心中始终抱着一个目标,就是最终要能写出一篇很好的survey,这样一来在阅读思考的时候总是有意无意地在整理知识的结构,并且往深处想。我的实践表明这是一个很棒的技巧。