分析VCL源代码也是有很多层面的,在不同的学习阶段看同样的代码也会有不同的体会,下面简单谈谈我的一些经验:
1、一开始阅读VCL代码,最直观的感受是代码的规范性,VCL的代码是非常清晰、简洁、易读、高效的,几乎找不到一行多余的代码。虽然代码量大,注释少,但还是比较容易理解。阅读VCL代码,让我养成了不管写任何代码都要一丝不苟的习惯。
2、代码实现的技巧和对VCL的深入理解。VCL的代码毕竟是最优秀的Delphi大师千锤百炼的成果,对程序语言本身的运用以及数据结构、算法设计等方面的实现,对我们都有着极大的参考价值。虽然有些代码一时不容易读懂,特别是涉及到其它领域知识的部分(如设计模式),不过多读多用就会慢慢理解。分析VCL的实现机理,对我们在开发中编写有效的代码也非常有帮助,可以避免走弯路。
3、整个VCL体系结构的设计思想。前面的阅读让我们“知其然”,再往后就是分析“其所以然”。为什么Borland的工程师要这样来设计VCL?VCL是怎样一步一步演化来的?如果是我来设计,我会怎样开发自己的组件库?如果有时间,也可以看看介绍VCL体系的书籍,如李维的《Inside VCL》等,带着自己思考的结果和疑问来看书,收获更大。
4、知识和智慧源于思考,有了前面的经验和自己的想法就可以去行动,编写一些有趣的控件,加深对VCL组件的认识和理解。也可以写一些文章总结自己的思想,与其它人交流扩展自己的知识面等。写文章其实是非常有益的工作,既可锻练自己的文字表达能力,又可锻练内容组织和思维能力,还可与别人交流经验,一举多得,呵呵。
另外,CnPack 有一个邮件列表讨论组,也可以在这里面与大家一起讨论,详见:
http://bbs.cnvcl.org/viewthread.php?tid=225