星期五, 一月 16, 2009

[笔记]如何读一本书

最近快速读了三四本书。小有收获。简记如下。

读书方式的改变:
1、从头读到尾
最正常的读。从小学开始的读法。
2、结合目录从头读到尾(或者在读的时候建立自己的提纲)
大学毕业还是不会读,后来试着读完每段一句话回顾一下每段的大意。
初中就让归纳每段的段落大意,当时就当家庭作业做了,不知道归纳段落大意干什么用。
(不学计算机的飘过~)其实就是建立树的索引。方便在理解全文的时候索引。
3、结合问题结合目录从头读到尾
读一本书,
4、结合问题结合目录从尾读到头
最近就是这么读。(其实你读我的这篇blog也可以这么读,这里才讲到重点。)
一本书的最后,会举一个实际例子,把前面讲到的所有知识都用上。到了这里,才真正的动手。前面讲的是skills,是分解后的各个部分,要到最后串起来才成为这本书的整体。比如:
1)赵炯的《Linux 内核完全注释》。我前后读了有四五次,第一次、第二次、第三次都是从头开始读。可能第一次读了第一章,放弃;第二次读了第一章和第二章,放弃;第三次读了第一二三章,放弃。好像是从第三次开始建立实验环境来试。这才有对实际系统的理解。后来第四次第五次就还好了,基本是带着问题去读。
2)Debugging with gdb。从1读到29章顺序读会死人的,读完都是几年以后的事情了。而我最近学到的好的trick,是在23. GDB Text User Interface,等你顺序读到这里在学到这个技巧,那就晚啦。
3)Code Reading: The Open Source Perspective。也是读了三四遍,不过还好,是挑着目录读的。但还是没有直接跳到最后一章(Chapter 11. A Complete Example)读。读完发现这个例子是在几千行代码的级别插入一个新的函数。唉~这个对于一般工程是够了,我现在手头的工程如果只用这些技巧可能不够啊,何况又是并行。不过还是学到一些。没读之前是菜鸟,读了至少不是菜鸟了。
4)最近又要debugging。读《Debugging―The Nine Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems》,唉,以前又是顺序读,读半天不知道他要干什么,或者只读到了局部,看看他Chapter 12: All the Rules in One Story讲什么吧。回头再写读后感。


---
另外,关于搜参考资料:
1、在书中搜关键字,看书的参考文献(好的书的reference做得很好)
2、搜wikipedia
3、搜各个大学
4、订阅IBM developworks,还有一些水平好的程序员的blog,完了要找的时候到google reader搜。

注1:怎么觉得跟读代码一样啊。
注2:小规模的顺序读,中规模的建立树结构,大规模的在树结构上再串一条主线。

没有评论: