本文為 Delphi 程式碼規範系列第二部分,涵蓋屬性命名、專案目錄結構、各類檔案命名規則(專案、表單、資料模組、單元)、Form/DataModule 類別與實例命名,以及Standard/Additional/Win32/System 四大面板組件標準簡稱對照表。
3.6 屬性命名
屬性名稱去掉類別變數前綴 F 後與其操作的變數名一致。
例:FUserName: string → 屬性 UserName。
3.7 檔案與目錄規範
3.7.1 專案目錄結構
專案根目錄
├── Bin\ # 編譯輸出 (EXE, BPL, DLL)
├── Db\ # 本地資料庫檔
├── Doc\ # 文件 (需求、設計、測試報告)
├── Hlp\ # 說明檔 (CHM, HLP)
├── Backup\ # 手動備份
└── Tmp\ # 暫存檔
3.7.2 專案檔 (.dpr)
使用有意義名稱,如 SysInfo.dpr。
3.7.3 表單檔 (.dfm/.xfm)
與 Form 類別名一致:TFormMain → FormMain.dfm。
3.7.4 資料模組檔
- 一般:
DM 前綴,如 DMCustomers.dfm
- 遠端:
RDM 前綴,如 RDMCustomers.dfm
3.7.5 單元檔 (.pas)
| 類型 | 命名規則 | 範例 |
| 一般單元 | Unit + 功能名 | UnitGeneral.pas |
| 表單單元 | Unit + Form 類別名 | UnitFormMain.pas |
| 資料模組單元 | Unit + DM 類別名 | UnitDMCustomers.pas |
3.7.6 檔案標頭註解
所有 .pas 檔案開頭必須包含:
{
修改日期:
作者:
用途:
本模組結構組成:
}
3.7.6 Form / DataModule 類別與實例命名
| 類型 | 類別名 (Type) | 實例名 (Instance) |
| Form | TForm + 功能名 (如 TAboutForm, TMainForm) | 去掉 T 前綴 (AboutForm, MainForm) |
| DataModule | TDM + 功能名 (如 TDMCustomer, TDMOrders) | 去掉 T 前綴 (DMCustomer, DMOrders) |
3.8 組件標準簡稱對照表(前四大面板)
Standard 頁面
| 組件 | 簡稱 |
| TMainMenu | mm |
| TPopupMenu | pm |
| TMainMenuItem | mmi |
| TPopupMenuItem | pmi |
| TLabel | lbl |
| TEdit | edt |
| TMemo | mem |
| TButton | btn |
| TCheckBox | cb |
| TRadioButton | rb |
| TListBox | lb |
| TComboBox | cb |
| TScrollBar | scb |
| TGroupBox | gb |
| TRadioGroup | rg |
| TPanel | pnl |
| TCommandList | cl |
Additional 頁面
| 組件 | 簡稱 |
| TBitBtn | bbtn |
| TSpeedButton | sb |
| TMaskEdit | me |
| TStringGrid | sg |
| TDrawGrid | dg |
| TImage | img |
| TShape | shp |
| TBevel | bvl |
| TScrollBox | sbx |
| TCheckListBox | clb |
| TSplitter | spl |
| TStaticText | stx |
| TChart | cht |
Win32 頁面
| 組件 | 簡稱 |
| TTabControl | tbc |
| TPageControl | pgc |
| TImageList | il |
| TRichEdit | re |
| TTrackBar | tbr |
| TProgressBar | prb |
| TUpDown | ud |
| THotKey | hk |
| TAnimate | ani |
| TDateTimePicker | dtp |
| TTreeView | tv |
| TListView | lv |
| THeaderControl | hdr |
| TStatusBar | stb |
| TToolBar | tlb |
| TCoolBar | clb |
System 頁面
| 組件 | 簡稱 |
| TTimer | tm |
| TPaintBox | pb |
| TMediaPlayer | mp |
| TOleContainer | olec |
| TDDEClientConv | ddcc |
| TDDEClientItem | ddci |
| TDDEServerConv | ddsc |
| TDDEServerItem | ddsi |
命名應用範例
// 表單單元 UnitFormMain.pas
type
TMainForm = class(TForm)
mmMain: TMainMenu; // mm_ + 功能
pnlTop: TPanel; // pnl_ + 位置/功能
edtUserName: TEdit; // edt_ + 資料欄位
btnLogin: TButton; // btn_ + 動作
tvOrg: TTreeView; // tv_ + 業務領域
qryUser: TQuery; // qry_ + 查詢對象
end;
var MainForm: TMainForm; // 實例名去掉 T
統一的簡稱體系能讓團隊成員快速識別組件類型與用途,配合 IDE 的 Code Insight,大幅提升閱讀與維護效率。
- 上一篇文章: Delphi 原始碼格式撰寫規範(三):組件簡稱對照表與修改歷史管理
- 下一篇文章: Delphi 原始碼格式撰寫規範(一)第 3 節:列舉/陣列/記錄類型、類別設計與屬性存取方法
Copyright ©
程式碼之家 All Rights Reserved