《Delphi高手突破》已经出版近一年了,其间有不少读者发来Email,我没有做到每封必回,应该会得罪了不少读者朋友,在此只能说声抱歉了。不过,有不少读者来Email询问关于他们正在构建的系统的技术细节问题,也有读者发来源代码请求帮助的。希望这些读者能设身处地的为我考虑一下,我自己也在上班打工,也要构建老板要求的系统,我写的源代码也有很多问题需要修正,我也想找个人来帮我看看我的代码呀。
今天,我是想说一下,关于书的最后一章的那个文本编辑器的实例。呵呵,有读者认为设计的过于复杂了,其实我也这么认为。不过,我并不否定在最后一章插入这么一个“复杂设计”的实例。
首先,这是一本书。书的内容要求连贯,前后一致。这本书的内容其实都是围绕一个主题,就是“如何构建良好设计的代码”,前六章基本都是理论的描述以及很抽象的例子,比如:可乐管里放汽油,呵呵。没有一个实在的实例,读者看完全书都一定还是云里雾里,原先懂的就懂,原先不懂的,还是不懂。有了实例,读者至少对那些理论有一些“落实”的感觉。
其次,或许对于实际应用来说,这个实例的代码设计过于复杂了。要实现一个文本编辑器,其实不用那么麻烦,呵呵。这种应用,代码规模一般也就在一千到两千行左右,真的要换个编辑器组件,重写一个也不费事。不过,问题是,这个实例还是在书上的,也就是作为一个教具,它的作用不仅仅在于一个示范,而更在于能让读者留下“设计”的印象。因此,“设计”的痕迹就很重,矫枉必须过正。
另外,我认为,专业程序员的成长会分为三个阶段:
1、初级,特点:偏重实现,以能实现功能为荣,以此成就感作为前进的激励
2、中级,特点:随着代码量的积累,想重用以前写的东西,开始关注设计,崇拜设计,以自己的程序中使用了很炫的设计技巧为荣
3、高级,特点:从“崇拜”设计开始回归,能够轻易构建出较好设计的代码,但不会走火入魔,为设计而设计
《Delphi高手突破》名称虽然为“高手突破”,但其实并不是写给上述的高级或者中级程序员的(书名是出版社指定的,我也没法,不过你也可以把“高手突破”理解成“成长为高手的毕竟之路的突破点”)。而是写给那些还着重于实现功能的初级程序员的,至少,我是想指出一个提高的方向。
最后,就是书的篇幅有限,不可能做一个很庞大的应用来作为实例,至少在这本书里是不合适的。中国程序员还是穷的多,书写厚了,买的人少:)。我写这本书的初衷,也还只是希望能给像我曾经一样迷茫的程序员带来一些帮助,唤起某种意识就行了,真要深入学习、研究,一本书绝对不够的。如果你有了这样的意识,可以买大部头来看。
好久没写文章了,工作忙、人很累是原因,同时对于没有能够收到我的回信的读者,再次说声抱歉。
2003-8-1 珠海
出处:Nicrosoft个人网站,http://www.sunistudio.com/nicrosoft/