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