程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 創建良好設計的代碼(基於Delphi/VCL)

創建良好設計的代碼(基於Delphi/VCL)

編輯:Delphi

我們平時都會寫很多代碼,為公司,為自己或者為朋友。有時,為了驗證自己的一個想法,或學習某一個技術,會寫一些試驗性的代碼。這樣的代碼的生命周期很短,基本不需要維護,隨意寫一下就可以。但是,當你真正要完成一個 Project 的時候,代碼設計就非常重要。因為這樣的代碼是需要長期維護,不斷修改或增強的。設計凌亂的代碼會使得維護非常困難或者根本不可能,修改這樣的代碼意味著產生更多的 bug 或者就是災難。

既然,代碼設計如此重要,我們就不能忽視它。那麼,如何設計代碼呢?面向對象編程技術可以幫助我們。在此,插一些題外話,很多程序員將面向對象編程(OOP)技術和面向對象(OO)技術混淆。就我自己的認識來說,面向對象技術是一門博大精深的學問,它是一種方法論或者說是一種世界觀,而面向對象編程技術只是提供一種在編碼時運用面向對象的一種方法。

以下是筆者看了一些相關的書籍和在日常實踐中得出的一些體會,希望和大家分享一下。

首先,讓界面代碼和功能代碼分離。需要牢記的一個原則,就是不要將復雜的功能邏輯寫在界面代碼中。界面窗體的實現文件只用來存放界面代碼,而將復雜的功能代碼獨立出來。舉個簡單的例子,假設要從某處獲得一個字符串列表,然後顯示於 TListBox 中,這樣的代碼就是值得尊敬的:

ObjectXXX := TObjectXXX.Create;
ListBox1.Items := ObjectXXX.GetStringList;
ObjectXXX.Free;

這樣就把獲得該字符串列表的復雜邏輯封裝於 TObjectXXX 類的實現代碼中,並且可以將這個類的定義及實現獨立的放在一個 .pas 文件中,以便於維護。將界面代碼和功能代碼分離還有另外一個好處,一個功能的實現代碼可能會被多個界面模塊調用,如果將功能實現代碼在需要的地方就復制一份,那麼你就會有多個相同的模塊需要維護,如果需要修改的話,呵呵,幾乎不可能保證你不會出錯。

其次,讓每個模塊的邏輯盡可能簡單。經驗告訴我們,對於過於復雜的邏輯,會給人的理解帶來困難。所以,盡可能的讓每個模塊的代碼簡單,一般不要超過 25行代碼。當你發現你寫的邏輯正在趨於復雜,那麼這個時候是你尋找對象的時機了,看看能不能將其中的一些邏輯獨立出來。

最後,就是要注意變量的命名。經常查看 VCL 源代碼,你會發現,VCL類中私有成員變量都以“F”打頭,類名都以“T”打頭等等這樣的規則。這樣有什麼好處?當別人查看這樣的代碼時,一旦看到“F”開頭的,就立刻可以知道它是該類的私有成員,便於代碼的維護。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved