亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

Delphi代碼風格約定

2019-11-18 18:39:09
字體:
來源:轉載
供稿:網友

Delphi代碼風格約定

qingrui li 據Charles Calvert的Object Pascal Style Guide編注

注:很多用Delphi的人不注意代碼風格,經常寫一些不規范的代碼,以致別人很難看懂且容易出錯。希望本文能鼓勵廣大Delphi愛好者統一到標準風格,共同前進。

本文描述了格式化Delphi代碼的標準風格。次風格基于Delphi開發組的編碼約定。我們承認很多流行的源碼使用了不同于我們的風格,但是我們強烈推薦在公共源碼社區使用Borland風格。

Delphi是個漂亮的語言,優點中重要的一條即是可讀性。本標準為增強可讀性設計。當開發者遵循本標準,所有開發者將從統一易讀的風格中受益。強化風格標準的努力可以提高源程序的價值,尤其在調試和維護周期。

InfixCaps命名風格

又叫CamelCaps,名字由幾個表達意義的詞組成,每個詞的首字母大寫,其余小寫。

如:MyFile,IntToStr,Items。

Delphi不使用匈牙利表示法,而推薦意義明確的名字。如用AppName而非lpszAppName,用Successful而非bSuccess,用ClientRect而非lPRectClientRect。

源文件命名

使用InfixCaps形式。如果轉譯C/C++頭文件,則使用與原頭文件相同的名字。如果需要將多個頭文件合并到一個單元,則使用主要頭文件的名字,如:WinBase.h、Windows.h合并為Windows.pas。

命名約定

除了保留字和指示字全部小寫,其它標識符使用InfixCaps風格。

注:最近似乎傾向于局部變量和形式參數使用簡單的小寫或縮寫詞。

例外是轉譯頭文件的標識符保留原風格。

類型名都以T打頭(Type的首字母)

函數、過程、方法名使用動詞或動詞短語,其它標識符使用名詞或名詞短語。

類數據成員以F打頭(Field的首字母)

枚舉類型成員前冠以小寫的類型縮寫,一般兩個字母,例:

  TBitBtnKind = (bkCustom, bkOK, bkCancel, bkHelp,     bkYes, bkNo, bkClose, bkAbort, bkRetry,     bkIgnore, bkAll);

返回布爾值的函數以Is打頭,例:IsVisible、IsResizable

空白的使用

在適當位置插入空行,分隔代碼的不同部分,如類聲明間、函數實現間等。

使用空格的位置:標點的右邊,二元運算符的兩邊

不應插入空格的位置:

  1. 方法名和其后的左括弧間
  2. .的前后
  3. 一元運算符和其操作數間
  4. 左括弧后和右括弧前
  5. 分號前

正確的例子:

function TMyClass.MyFunc(var Value: Integer);MyPointer := @MyRecord;MyClass := TMyClass(MyPointer);MyInteger := MyIntegerArray[5];

錯誤的例子:

function TMyClass.MyFunc( var Value: Integer ) ;MyPointer := @ MyRecord;MyClass := TMyClass ( MyPointer ) ;MyInteger := MyIntegerArray [ 5 ] ;

縮進

應使用兩個空格的縮進,不要使用Tab字符。

begin...end間的代碼要縮進,begin...end本身不縮進

續行時縮進兩個空格

正確的例子:

function CreateWindowEx(dwExStyle: DWord;   lpClassName: PChar; lpWindowName: PChar;   dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;  hWndParent: HWND; hMenu: HMENU; hInstance: HINST;   lpParam: Pointer): HWND; stdcall;if ((X = Y) or (Y = X) or  (Z = P) or (F = J) thenbegin  S := J;end;
while (LongExpression1 or LongExpression2) do begin  // DoSomething  // DoSomethingElse;end;if (LongExpression1) or   (LongExpression2) or   (LongExpression3) then 

類聲明安下列順序組織

  • 數據域

  • 方法

  • 屬性

訪問層次安下列順序組織,但IDE自動生成的代碼是例外

  • Private declarations
  • Protected declarations
  • Public declarations
  • Published declarations

構造函數和析構函數聲明在方法聲明的前面。由于TObject.Destroy是虛函數且TObject.Free調用的是Destroy,所以析構函數不要用其它的名字。構造函數可以用除Create外的名字,但一般最好統一用Create。

例:

  TMyClass = class(TObject)  private  protected  public  published  end;

數據應該只在私有部分聲明,并以F打頭(Field的首字母)。

type  TMyClass = class(TObject)  private    FMyData: Integer;    function GetData: Integer;    procedure SetData(Value: Integer);  public  published    property MyData: Integer read GetData write SetData;  end;

接口遵循相同規則


上一篇:如何為Delphi程序添加事件和事件處理器

下一篇:SGIP的delphi原碼

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
播播国产欧美激情| 日韩中文在线视频| 久久久成人精品视频| 日产精品99久久久久久| 久久久久久久999| 亚洲国产精品嫩草影院久久| 国产精品永久在线| 91天堂在线视频| 亚洲福利视频免费观看| 茄子视频成人在线| 97在线视频免费播放| 久久视频国产精品免费视频在线| 午夜精品久久久久久99热软件| 成人h猎奇视频网站| 国产在线98福利播放视频| 国产精品入口尤物| 欧美激情国产日韩精品一区18| 久久久99久久精品女同性| 国产精品第一视频| 欧美日韩xxxxx| 久久午夜a级毛片| 美日韩精品免费观看视频| 欧美成人午夜剧场免费观看| 国产日产久久高清欧美一区| 中文字幕日韩av| 岛国视频午夜一区免费在线观看| 亚洲精品福利在线观看| 成人激情视频小说免费下载| 久久精品91久久香蕉加勒比| 国产精品va在线| 日韩激情第一页| 欧美二区在线播放| 精品视频在线播放| 一区二区三区回区在观看免费视频| 国产精品一区二区三区成人| 日韩电影大全免费观看2023年上| 黑人巨大精品欧美一区二区三区| 热草久综合在线| 91久久综合亚洲鲁鲁五月天| 亚洲精品电影网在线观看| 日韩免费av一区二区| 国产成人精品在线| 97人人模人人爽人人喊中文字| 亚洲美女动态图120秒| 欧美日韩在线视频首页| 日本在线观看天堂男亚洲| 中文字幕在线看视频国产欧美在线看完整| 国产偷亚洲偷欧美偷精品| 国产免费一区视频观看免费| 精品久久久久久国产91| 欧美限制级电影在线观看| 亚洲美女av在线播放| 91精品国产91久久| 日韩天堂在线视频| 欧美激情区在线播放| 国产999在线观看| 日本欧美一二三区| 91久久综合亚洲鲁鲁五月天| 日韩国产中文字幕| 91天堂在线视频| 国产成人啪精品视频免费网| 日韩性生活视频| 国产精品啪视频| 亚洲成人精品视频在线观看| 久久久久久亚洲精品不卡| 国产精品一二三视频| 日韩精品在线视频观看| 97精品国产91久久久久久| 久久影视电视剧凤归四时歌| 91精品国产自产在线| 成人h视频在线观看播放| 国产欧美一区二区三区久久人妖| 久久中国妇女中文字幕| 26uuu久久噜噜噜噜| 欧美日韩第一视频| 一本色道久久88综合日韩精品| 亚洲欧洲第一视频| 在线日韩精品视频| 一区二区三区精品99久久| 久久久久久欧美| 日韩在线观看成人| 色与欲影视天天看综合网| 色偷偷91综合久久噜噜| 久久久久久久久久久国产| 久久精品国产一区二区电影| 亚洲国产天堂久久国产91| 国产亚洲激情视频在线| 亚洲欧美日韩精品久久| 91久久精品国产91久久性色| 国产精品盗摄久久久| 国产精品wwwwww| 国产精品1区2区在线观看| 国产九九精品视频| 日韩av在线网站| 国产91精品久久久| 国产精品老女人精品视频| 国产精品一区二区性色av| 国产精品欧美一区二区| 精品一区二区亚洲| 久久综合国产精品台湾中文娱乐网| 国产精品亚洲第一区| 久久精品视频99| 久久精品这里热有精品| 青草青草久热精品视频在线网站| 一区二区三欧美| 日韩成人在线播放| 日本一区二区不卡| 97视频免费观看| 一区二区在线视频| 日韩精品在线视频美女| 亚洲第一福利在线观看| 国产丝袜视频一区| 国产成人精品电影久久久| 韩国国内大量揄拍精品视频| 91视频88av| 中国china体内裑精亚洲片| 成人久久久久久久| 中文字幕欧美专区| 欧美夫妻性视频| 欧美视频一二三| 激情亚洲一区二区三区四区| 国产999精品视频| 午夜精品久久久久久久99黑人| 国产精品视频网址| 日韩视频在线一区| 欧美成人精品影院| 久久久久久美女| 亚洲精品美女在线| 韩日欧美一区二区| 欧美成人三级视频网站| 成人写真视频福利网| 国产日韩欧美在线观看| 午夜精品视频在线| 日韩在线免费视频观看| 欧美激情精品久久久久久| 国产91色在线免费| 亚洲欧美日韩久久久久久| www.欧美免费| 久久久久久中文字幕| 精品露脸国产偷人在视频| 成人日韩在线电影| 亚洲va欧美va在线观看| 久久久久久这里只有精品| 日韩精品一二三四区| 欧美精品久久一区二区| 亚洲视频一区二区三区| 久久的精品视频| 欧美激情videos| 国产精品爽爽ⅴa在线观看| 色婷婷av一区二区三区久久| 97涩涩爰在线观看亚洲| 国产精品久久久久9999| 中文字幕亚洲色图| 最新国产精品拍自在线播放| 成人xxxxx| 久久精品国产96久久久香蕉| 国产免费一区二区三区在线能观看| 久久精品久久久久久国产 免费| 日韩精品免费看| 亚洲在线一区二区| 国产成人精品视频| 国产精品电影久久久久电影网| 91精品综合视频| 国产精品美女午夜av|