命名是個難題。
比如:一個工程,你首先要給整體取名字,比如:cow horse fuck
一種功能,你也要取個名字,有時通用的英文反而會引起誤解。
比如 : TSomeMgt 這個mgt(管理) 不一定好。 你還不如用一個動物或植物的名稱
去代替一種功能。
單純的 TSystem 肯定有問題,應該用 TCowSystem
TSomeItem 可以換成 TSomeBean, 通用詞太多,會引起誤解。
RR 大神曾說過 TDataInfo 就是個垃圾命名。 可以換成 TDataCat 或 TSomeBean 都比這個好。
存放 pas 的目錄。 根據需要要用 Public , common , XXUtils
pas 文件本身命名,也要用 xxutils ,xxCommon , 有時可以參考一下 vcl 組件那些
命名方法。
另外:事件的命名。
TSomeClass=class;
TSomeStatus=(ssUnknow,ssOK,ssErr);
TOnSomeStatus=procedure(Sender:TSomeClass;AStatus:TSomeStatus) of object;
TSomeClass=class
public
OnSomeStatus:TOnSomeStatus;
BoOtherObj:TObject; // 我還創新了一個 Bo, Brorrow;
BoIniFile:TiniFile; // 讓調用者知道,這里要人工指定一個 BoIniFile
// 一看見 Bo 前綴的就知道這個意思了。多么清晰
// 不然,你就要糾結,這個 IniFile 的生命周期。加大工作量。
end;
調用時:
TForm1=class(TForm)
private
FSomeClass:TSomeClass;
procedure OnSomeStatusTing(Sender:TSomeClass:AStatus:TSomeStatus);
// 注意這個結尾 Ting ,專供事件。這樣好區分
end;
construcotr TForm1.Create;
begin
inherited;
FSomeClass:=TSomeClass.Create;
FSomeClass.OnSomeStatus:=self.OnSomeStatusTing; //注意這個 Ting
end;
容易搞混的東西,我們可以強行定義規則。
能自己定義一些合理的命名規則,才是面向對象的精華所在。
function GetSomeList(AKind:integer):TStringList;
begin
Result:=TStringList.Create;
end;
Procedure GetSomeList(AKind:integer;L:TStringList);
begin
if Akind=1 then
L.add('xxx');
end;
這兩個函數,就是一個規則約定問題。你想用哪種,自己決定就行。
- 0.1 教程說明
- 0.2 delphi xe8 安裝
- 0.2.2 XE 10.3.3 安裝
- 0.3 delphi IDE 的非常必要的配置
- 0.4 調試中的異常處理
- 0.5 工程路徑設置
- 0.6 開發工具界面切換成中文的問題
- 一、實用技巧
- 0.嘗試為event取名叫伊文特
- 1.各種(變量)數據在內存中是什么樣子的?
- 2
- 3
- 4.亂碼問題
- 5
- 二、多線程
- 三、DLL相關
- 1.DLL中函數參數如何設計?
- 2.調用易語言DLL識別驗證碼
- 四、界面設計
- 1.關于解耦問題
- 2.登錄功能設計
- 五、面向對象基礎知識
- 1.窗口間傳遞值
- 3.避免又臭又長的裹腳布
- 2.擴展 TStringGrid , delphi 7 示例
- 六、初學者誤區集錦
- 七 TList 集合
- 1.附加信息Pointer設計
- 2.用 TList 來建立組件間的聯系
- 3.泛型 TList<T> 示例