《Delphi高手突破》已經出版近一年了,其間有不少讀者發來Email,我沒有做到每封必回,應該會得罪了不少讀者朋友,在此只能說聲抱歉了。不過,有不少讀者來Email詢問關於他們正在建造的系統的技術細節問題,也有讀者發來源代碼請求幫助的。希望這些讀者能設身處地的為我考慮一下,我自己也在上班打工,也要建立老闆要求的系統,我寫的源代碼也有很多問題需要修正,我也想找個人來幫我看看我的代碼呀。
今天,我是想說一下,關於書的最後一章的那個文本編輯器的實例。呵呵,有讀者認為設計的過於複雜了,其實我也這麼認為。不過,我並不否定在最後一章插入這麼一個「複雜設計」的實例。
首先,這是一本書。書的內容要求連貫,前後一致。這本書的內容其實都是圍繞著一個主題,就是“如何構建良好設計的代碼”,前六章基本上都是理論的描述以及很抽象的例子,比如:可樂管裡放汽油,呵呵。沒有一個實在的實例,讀者看完全書都一定還是雲裡霧裡,原先懂的就懂,原先不懂的,還是不懂。有了實例,讀者至少對那些理論有些「落實」的感覺。
其次,或許對於實際應用來說,這個實例的程式碼設計太複雜了。要實作一個文字編輯器,其實不用那麼麻煩,呵呵。這種應用,程式碼規模一般也就在一千到兩千行左右,真的要換個編輯器元件,重寫一個也不費事。不過,問題是,這個實例還是在書上的,也就是作為一個教具,它的作用不僅僅在於一個示範,而更在於能讓讀者留下「設計」的印象。因此,「設計」的痕跡就很重,矯枉必須過正。
另外,我認為,專業程式設計師的成長會分為三個階段:
1.初級,特點:偏重實現,以能實現功能為榮,以此成就感作為前進的激勵
2.中級,特點:隨著程式碼量的積累,想重用以前寫的東西,開始專注於設計,崇拜設計,以自己的程式中使用了很炫的設計技巧為榮
3.高級,特色:從「崇拜」設計開始回歸,能夠輕易建構出較好設計的程式碼,但不會走火入魔,為設計而設計
《Delphi高手突破》名稱雖然為“高手突破”,但其實並不是寫給上述的高級或中級程式設計師的(書名是出版社指定的,我也沒法,不過你也可以把“高手突破”理解成「成長為高手的畢竟之路的突破點」)。而是寫給那些還著重於實現功能的初級程式設計師的,至少,我是想指出一個提高的方向。
最後,就是書的篇幅有限,不可能做一個很龐大的應用來做實例,至少在這本書裡是不合適的。中國程式設計師還是窮的多,書寫厚了,買的人少:)。我寫這本書的初衷,也還只是希望能給像我曾經一樣迷茫的程式設計師帶來一些幫助,喚起某種意識就行了,真要深入學習、研究,一本書絕對不夠的。如果你有了這樣的意識,可以買大部頭來看。