Delphi命名规范
生活随笔
收集整理的這篇文章主要介紹了
Delphi命名规范
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
參考VCL的代碼,結合筆者近兩年來的一些經驗,可以簡單總結出一套Delphi下常用的命名規范。
- 類型定義(type)
- 包括class、record、枚舉、procedure/function變量等所有寫在type下的類型定義
- 用大寫的T開頭,例如TList(class)、TPoint(record)、TAlign(枚舉)、TNotifyEvent(procedure變量)
- 常量(const)
- 自定義的簡單類型常量(如Integer、Pointer等類型)建議用C開頭
- 也有不少常量是需要根據單詞意思推斷的,如MaxDateTime(以Max開頭,讓人從意思上猜到是常量)
- 字符串常量用S開頭(因為字符串常量與簡單類型常量在編譯時處理方式不同,詳情可參考《Delphi源代碼分析》2.2.4常量)
- 類的private成員變量、implementation下的全局變量
- 用F開頭
- 類里絕對不要出現public成員變量,所有要公開的屬性用property或者procedure、function代理出來
- interface下的全局變量
- interface下最好不要出現全局變量,可以替換為用interface里的function返回implementation下的全局變量值
- 如果一定要有的話,用G開頭
- 局部變量
- 用L開頭
- 函數(procedure或function)實參
- 用A開頭
除了這些以外,筆者有一些自己常用的Delphi編程習慣,拿出來跟大家分享,歡迎拍磚。
- 用項目縮寫做名字開頭
- 由于Delphi里沒有C++中的namespace或者Java里的package這些概念,所以名字沖突問題比較嚴重。為了盡量避免這種問 題,可以在一個項目的專有全局類型、常量前面加上項目名稱的縮寫。例如對于一個叫做MyProject的項目,其下的專屬類可以叫做 TMPOneClass,常量可以叫做CMPOneNumber,等等。
- 用function代替全局變量
- 當我們需要訪問剪切板時,會用到Clipboard這個對象,不知道大家有沒有注意到,這其實是一個返回TClipboard對象的function,而且還用到了設計模式的Singleton模式。
- 由于Delphi里調用無參函數可以不寫括號,所以很多時候可以把一個function當做一個變量使用,具體怎么用大家可以發散一下思維,Singleton只是其中一個例子。
- 用Pascal命名法
- 上面這些命名方式,總得來說是根據Pascal命名法演化而來的。
- Pascal命名法的基本思想就是一個名字里如果包含多個單詞,每個單詞的首字母都要大寫,例如ThisIsAnExample。
- 不建議使用下劃線命名法(如this_is_an_example),主要是因為Delphi的變量名自動補全工具不會自動過濾下劃線,手動輸入比較累。。。
- 由于Delphi中變量名對大小寫不敏感(如A和a其實是同一個變量,這是跟C語系的語言最大的不同),所以絕對不要嘗試用字母大小寫區分變量,所有變量最好都用大寫字母開頭。
-------------------------------------------------
本博客中凡是未標明【轉】字樣的文章均為原創,作者保留版權,轉載請務必保留原文地址。
博客地址:http://xuxn.cnblogs.com
如有問題請聯系:xuxin1123@gmail.com
轉載于:https://www.cnblogs.com/edisonfeng/archive/2012/05/15/2501778.html
總結
以上是生活随笔為你收集整理的Delphi命名规范的全部內容,希望文章能夠幫你解決所遇到的問題。