既然,代碼設計如此重要,我們就不能忽視它。那么,如何設計代碼呢?面向對象編程技術可以幫
助我們。在此,插一些題外話,很多程序員將面向對象編程(OOP)技術和面向對象(OO)技術混淆。就
我自己的認識來說,面向對象技術是一門博大精深的學問,它是一種方法論或者說是一種世界觀,而面
向對象編程技術只是提供一種在編碼時運用面向對象的一種方法。
以下是筆者看了一些相關的書籍和在日常實踐中得出的一些體會,希望和大家分享一下。
首先,讓界面代碼和功能代碼分離。需要牢記的一個原則,就是不要將復雜的功能邏輯寫在界面代
碼中。界面窗體的實現文件只用來存放界面代碼,而將復雜的功能代碼獨立出來。舉個簡單的例子,
假設要從某處獲得一個字符串列表,然后顯示于 TListBox 中,這樣的代碼就是值得尊敬的:
ObjectXXX := TObjectXXX.Create;
ListBox1.Items := ObjectXXX.GetStringList;
ObjectXXX.Free;
這樣就把獲得該字符串列表的復雜邏輯封裝于 TObjectXXX 類的實現代碼中,并且可以將這個類的定義
及實現獨立的放在一個 .pas 文件中,以便于維護。將界面代碼和功能代碼分離還有另外一個好處,
一個功能的實現代碼可能會被多個界面模塊調用,如果將功能實現代碼在需要的地方就復制一份,那么
你就會有多個相同的模塊需要維護,如果需要修改的話,呵呵,幾乎不可能保證你不會出錯。
其次,讓每個模塊的邏輯盡可能簡單。經驗告訴我們,對于過于復雜的邏輯,會給人的理解帶來困
難。所以,盡可能的讓每個模塊的代碼簡單,一般不要超過 25行代碼。當你發現你寫的邏輯正在趨于
復雜,那么這個時候是你尋找對象的時機了,看看能不能將其中的一些邏輯獨立出來。
最后,就是要注意變量的命名。經常查看 VCL 源代碼,你會發現,VCL類中私有成員變量都以“F”
打頭,類名都以“T”打頭等等這樣的規則。這樣有什么好處?當別人查看這樣的代碼時,一旦看到“F”
開頭的,就立刻可以知道它是該類的私有成員,便于代碼的維護。
新聞熱點
疑難解答
圖片精選