Delphi開(kāi)發(fā)規(guī)范_第1頁(yè)
Delphi開(kāi)發(fā)規(guī)范_第2頁(yè)
Delphi開(kāi)發(fā)規(guī)范_第3頁(yè)
Delphi開(kāi)發(fā)規(guī)范_第4頁(yè)
Delphi開(kāi)發(fā)規(guī)范_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Delphi開(kāi)發(fā)規(guī)范一、 Delphi版本統(tǒng)一使用Delphi2007進(jìn)行項(xiàng)目開(kāi)發(fā)、小部分模塊(比如:系統(tǒng)構(gòu)子模塊Dll、Delphi2007編譯出問(wèn)題的功能)可以使用Delphi7開(kāi)發(fā)Dll文件,供Delphi2007編寫的主程序調(diào)用。當(dāng)需要Delphi2007以上版本進(jìn)行開(kāi)發(fā)時(shí),必須要滿足使用Delphi新特性才能完成新功能的條件。二、 Delphi插件統(tǒng)一使用以下2款Delphi第三方插件來(lái)提高工作效率。1) CnWizards 是一組集成在 Delphi / C+ Builder 的 IDE 中,用于增強(qiáng) IDE 功能、提高 IDE 的可用性及開(kāi)發(fā)效率的免費(fèi)、開(kāi)放源碼工具。2) Del

2、phi2007以下版本:DelForExp 是一款Delphi代碼格式化工具。該工具重點(diǎn)設(shè)置如下圖:縮進(jìn)空格數(shù)必須為 4。三、 一般格式規(guī)范 1. 縮進(jìn)統(tǒng)一使用 4 個(gè)空格縮進(jìn)。參照下圖進(jìn)行設(shè)置:把Tab的空格數(shù)設(shè)置為4,以后一按tab鍵可以一次縮進(jìn)4個(gè)空格。2. Begin.End begin 語(yǔ)句和 end 語(yǔ)句在源程序中要獨(dú)占一行,例如: for I := 0 to 10 do begin /不正確的用法 end; for I := 0 to 10 do /正確的用法 begin end;3. 空格 在操作符及邏輯判斷符號(hào)的兩端添加空格,例如:I := I + 1;,a and b 等,

3、但添加括號(hào)時(shí)不需要空格。 例如:if ( a > b ) then /錯(cuò)誤的用法 If (a > b) then /正確的用法 又例如:procedure Test(Param1: integer; Param3: string); 4. 過(guò)程和函數(shù)1) 命名及格式 過(guò)程和函數(shù)的名稱應(yīng)全部使用有意義的單詞組成,并且所有單詞的第一個(gè)字母應(yīng)該使用大寫字母。例 如: procedure formatharddisk;/不正確的命名 procedure FormatHardDisk;/正確的命名 設(shè)置變量?jī)?nèi)容的過(guò)程和函數(shù),應(yīng)使用 Set 作為前綴,例如: Procedure SetUser

4、Name;讀取變量?jī)?nèi)容的過(guò)程和函數(shù),應(yīng)使用 Get 作為前綴,例如:Function GetUserName:string;2) 注釋1)、除控件產(chǎn)生的事件以外的自定義函數(shù)都必須加入以下格式的注釋。/<summary>/過(guò)程名: 函數(shù)中文描述/作 者: 作者姓名/日 期: 年-月-日 /</summary>/<param name="參數(shù)名">函數(shù)描述</param>/<returns>返回值描述,例如:0 - 成功;1 - 失敗</returns>2)、所有定義的變量、常量、類都必須加入以下格式注釋/

5、 <summary>/ 執(zhí)行SQL / </summary> StrSQL:string;3) 過(guò)程和函數(shù)的參數(shù)A. 格式 統(tǒng)一類型的參數(shù)寫在同一句中:Procedure Foo(Param1,Param2:Integer;Info:String);B. 命名 所有參數(shù)必須是有意義的;并且當(dāng)參數(shù)名稱和其它屬性名稱或全局變量重了的時(shí)候,加一個(gè)前綴A, 例如: procedure SomeProc(AUserName: string; AUserAge: integer); C. 命名沖突 當(dāng)使用的兩個(gè) unit 中包括一個(gè)重名的函數(shù)或過(guò)程時(shí), 那幺當(dāng)你引用這一函數(shù)或過(guò)程時(shí)

6、, 將執(zhí)行在 use 子 句中后聲明的那個(gè) unit 中的函數(shù)或過(guò)程。為了避免這種uses-clause-dependent需要在引用函數(shù)或過(guò)程時(shí), 寫完整函數(shù)或過(guò)程的出處。例如: SysUtils.FindClose(SR); Windows.FindClose(Handle); 5. 變量 1) 變量命名及格式 首先所有變量必須起有意義的名字,使其它組員可以很容易讀懂變量所代表的意義,變量命名可以采用同義的英文命名,可使用幾個(gè)英文單詞, 但每一單詞的首字母必須大寫。 例如: var WriteFormat:String;同時(shí)對(duì)于一些特定類型可采用一定的簡(jiǎn)寫如下: 指針類型 P紀(jì)錄類型 Re

7、c數(shù)組類型 Arr類 Class 循環(huán)控制變量通常使用單一的字符如:i, j, 或 k。 另外使用一個(gè)有意義的名字例如:UserIndex ,也是準(zhǔn)許的。2) 局部變量 在過(guò)程中使用局部變量遵循變量的命名規(guī)則。3) 全局變量 盡量不使用全局變量,如必須使用全局變量則必須加前綴g_,同時(shí)應(yīng)在變量名稱中體現(xiàn)變量的類型。 例如: g_UserCount: point;/名稱為 UserCount 的全局變量,其類型為指向一結(jié)構(gòu)的指針但是在模塊內(nèi)部可以使用全局變量。所有模塊內(nèi)全局變量必須用F為前綴。如果幾個(gè)模塊之間需要進(jìn)行資料交換,則需要通過(guò)聲明屬性的方法來(lái)實(shí)現(xiàn)。例如: Type TFormOverd

8、raftReturn = class(TForm) private Private declarations FuserName: string; FuserCount: Integer; Procedure SetUserName(Value: string); Function GetUserName: string; public Public declarations property UserName: string read GetUserName write SetUserName; property UserCount: Integer read FuserCount writ

9、e FuserCount; end; 6. 類型 1) 大小寫協(xié)議 Win32 API 的類型通常全部大寫,其他的數(shù)據(jù)類型則首字母大寫,其余字母小寫,例如: var MyString: String; /除Win32 API以外的數(shù)據(jù)類型I: Integer; /除Win32 API以外的數(shù)據(jù)類型WindowHandle: HWND; /Win32 API數(shù)據(jù)類型2) 浮點(diǎn)類型 盡量不使用 Real 類型,他只是為了和舊的 Pascal 代碼兼容,盡量使用 Double 類型。Double 類型是 對(duì)處理器和數(shù)據(jù)總線做過(guò)最優(yōu)化的并且是 IEEE 定義的標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)。當(dāng)數(shù)值超出 Double 的

10、范圍時(shí),使用 Extended 。但 Extended 不被 Jave 支持。但使用其它語(yǔ)言編寫的 DLL 時(shí)可能會(huì)使用 Single 類型。3) 枚舉類型 枚舉類型的名字必須有意義并且類型的名字之前要加前綴T。枚舉類型的內(nèi)容的名字必須包含枚舉類型名稱的簡(jiǎn)寫,例如: TSongType = (stRock, stClassical, stCountry, stAlternative, stHeavyMetal, stRB); 4) 數(shù)組類型 數(shù)組類型的名字必須有意義并且類型的名字之前要加前綴T。如果聲明一個(gè)指向數(shù)組類型的指針必須 在該類型的名字之前加前綴P,例如: type PCycleArr

11、ay = TCycleArray; TCycleArray = array1.100 of Integer; 5) 記錄類型 記錄類型的名字必須有意義并且類型的名字之前要加前綴T。如果聲明一個(gè)指向數(shù)組類型的指針必須 在該類型的名字之前加前綴P,例如: TypePEmployee = TEmployee; TEmployee = Record EmployeeName: String;EmployeeRate: Double; end; 7. 類1) 命名及格式 類的名字必須有意義并且類型的名字之前要加前綴T。例如: Type TCustomer = class(TObject)類實(shí)例的名字通常

12、是去掉T的類的名字。例如: var Customer: TCustomer; 2) 類中變量的命名及格式 類中變量的名字必須有意義并且類型的名字之前要加前綴F。所有的變量必須是要有的。如果需要從外部訪問(wèn)此變量則需要聲明該變量的屬性。 3) 類屬性的訪問(wèn)方法 所有的屬性訪問(wèn)方法必須出現(xiàn)在 private 或 protected 中。屬性訪問(wèn)方法的命名同函數(shù)和過(guò)程的命名另 外讀方法(reader method)必須使用前綴Get. 寫方法(writer method)必須使用前綴Set。 寫方法的參數(shù)必須命 名為Value,其類型同所要寫的屬性相一致。例如: TSomeClass = class(

13、TObject) private FSomeField: Integer; protected function GetSomeField: Integer; procedure SetSomeField( Value: Integer); public property SomeField: Integer read GetSomeField write SetSomeField; end; 4) 屬性的命名及格式 同其用操作的,出去前綴F的類的變量的名稱相一致 。 8. 項(xiàng)目 1) 項(xiàng)目代碼目錄結(jié)構(gòu) 程序主目錄-Bin(應(yīng)用程序所在路徑) -Db(本地?cái)?shù)據(jù)庫(kù)所在路徑) -Doc(文檔所在路

14、徑) -Hlp(幫助文件所在路徑) -Backup(備份路徑) -Tmp(臨時(shí)文件路徑) 2) 項(xiàng)目的命名 項(xiàng)目文件必須使用一個(gè)有意義的名字,項(xiàng)目命名可以采用同義的英文命名,可使用幾個(gè)英文單詞, 但每一單詞的首字母必須大寫。例如: Delphi 中系統(tǒng)信息的項(xiàng)目文件被命名為 SysInfo.dpr。 3) 普通Unit 文件命名 unit 文件的命名應(yīng)該有意義,并且使用Unit_作為前綴。例如: 通用 Unit 被命名為Unit_PublicFunction.pas。 4) Form Units 命名 Form Unit 文件的名字必須和 Form 的名稱保持一致。例如:主窗體叫 MainFo

15、rm 則 Form Unit 文件 的名字為:Unit_FormMain.pas 5) Data Module Units 命名 Data Module unit 文件的名字必須和 Data Module 的名稱保持一致。 例如: Data Module 叫 DMMain.pas 主 則 Data Module Unit 文件的名字為:Unit_DMMain。 9. Form 類 1) Form 類命名標(biāo)準(zhǔn) Forms 類的命名應(yīng)該有意義,命名可以采用同義的英文命名,可使用幾個(gè)英文單詞, 但每一單詞的首字母必須大寫。并且使用T作為前綴。Form類命名規(guī)則:“T”+“窗體描述的單詞組合”+”Fo

16、rm”。例如: About Form 類的名字為: TAboutForm = class(TForm) 主窗體的名字為 TMainForm = class(TForm) 2) Form 類實(shí)例的命名標(biāo)準(zhǔn) Form 的類實(shí)例的名字應(yīng)同期掉T的 Form 類的名字相一致。Form實(shí)例命名規(guī)則:“窗體描述的單詞組合”+”Form”。例如: 類名:TAboutForm Form類實(shí)例:AboutForm 類名:TCustomerEntryFormForm類實(shí)例:CustomerEntryForm10. 控件 1) 控件的命名 控件的實(shí)例應(yīng)使用去掉T該控件類的名稱作為前綴,所有控件的類名和實(shí)例名都必須使

17、用相關(guān)的描述單詞組合,不能使Delphi默認(rèn)生成的控件類名和實(shí)例名。 控件類命名規(guī)則:“T”+“控件名稱/簡(jiǎn)稱_”+“描述的單詞組合”+序號(hào)。例如:TEdit 控件的類名: TEdit_UserName。 控件實(shí)例命名規(guī)則:“控件名稱/簡(jiǎn)稱”+“窗體描述的單詞組合”。例如:TEdit 控件的實(shí)例名: edt_UserName。2) 控件的簡(jiǎn)寫 控件的名稱可使用以下簡(jiǎn)寫。Standard Tab:mm TMainMenu pm TPopupMenu mmi TMainMenuItem pmi TPopupMenuItem lbl TLabel edt TEdit mem TMemo btn TB

18、utton chb TCheckBox rb TRadioButton lb TListBox cb TComboBox scb TScrollBar gb TGroupBox rg TRadioGroup pnl TPanel cl TCommandList Additional Tab: bbtn TBitBtn sb TSpeedButton me TMaskEdit sg TStringGrid dg TDrawGrid img TImage shp TShape bvl TBevel sbx TScrollBoxclb TCheckListbox spl TSplitter stx TStaticTextcht TChart 3.8.2.3 Win32 Tab:tbc TTabControl pgc TPageControl il TImageList re TRichEdit tbr TTrackBar prb TProgressBar ud TUpDown hk THotKey ani TAnimate dtp TDateTimePicker tv TTreeView lv TListView hdr THeaderControl stb TStatusBar tlb TToolBar clb TCoolBar System Tab:tm TTim

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論