读书方法,以及先后顺序
技术书分两种:原理书籍,应用书籍
例子分两种:原理例子,应用例子
我的理解是:
1)先运行原理例子,从例子里学习理论思想,而且代码是活的,还有运行效果,容易记住并活学活用。
2)其次看原理书籍。如果第一步就是看原理书籍,总是看个大概,难点太多,细节太多,而且没有第一印象和切身体会,许多地方只能强记,好不容易有印象了也不能真正理解。运行过例子,看到效果以后,再看理论书籍,就好理解多了。甚至把例子里不懂的地方,找到理论核对一遍。
3)然后看普通的例子,全面一点,但不要深入。
4)综合深入的例子,这样的例子书上很少有,但网上却不少。比如VC换肤技术,Delphi远控,Delphi三方控件,都是非常值得学的深入例子。
最后,就是要思考一下,一个语言或者一个工具或者一个框架,最关键的地方是什么(有可能是难点,也有可能不是)。比如Delphi里的难点是VCL,因为编译器相对简单,其制定的规则对所有人都一样,即使开发VCL的人也使用和我们完全相同的规则。VCL相当于是使用Delphi编译器的特点和WINAPI,重新封装了一遍Windows编程,它有一整套自己的思路,必须予以充分的理解,才能真正掌握这门语言。
另外,所谓眼过千遍不如手过一遍,在编程这个行业还真是这样。拿MFC和VCL来说,都有不少好书,提纲挈领甚至事无巨细把要点都讲清楚了,但是自己不动手,仍看不懂或者印象不深。所以我的理解是,原理性书籍是帮你总结的,而不是教你学的。《深入核心:VCL》这本书看了若干遍了,仍不得要领。直到自己分析一遍VCL源码后,再转回来看这本书,才能看懂这本书,而且它其实是帮你总结,而不是用来直接学的,至少给我的印象是如此。另外,即使这样的深入技术的书籍,仍有许多不到位的地方,我自己还总结了一堆书上没讲到的技巧,留下一堆书上没有提到的疑问。《Delphi精要》这本书的效果就更明显了,它的存在就是为了帮助将要成为高手的开发人员总结一下,初学者虽然也能看一下有助于提纲挈领,但毕竟不是自己一路走过来,不会有深刻的体会,最后难免会沦为强行记忆,效果不佳。
总结一下:动手学习原理性的例子,回头看原理书籍,再回头看全面书籍,最后深入大项目学习和修改。