




已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
DELPHI編碼規(guī)范福建星網(wǎng)視易信息系統(tǒng)有限公司更新記錄:版本作者日期內(nèi)容V1.0孫忠好2011-7-3編碼規(guī)范初稿V1.1 孫忠好211-07-29討論會后的修改 目錄1.目的42.適用范圍43.編碼范規(guī)43.1.文件43.2.注釋43.3.編碼排版格式53.4.命名規(guī)范63.4.1.保留字63.4.2.過程和函數(shù)73.4.3.變量73.4.4.常量83.4.5.類83.4.6.控件83.5.修改規(guī)范113.5.1.新增代碼行113.5.2.刪除代碼行113.5.3.修改代碼行111. 目的統(tǒng)一規(guī)范DELPHI的編碼風(fēng)格和標(biāo)準(zhǔn)。2. 適用范圍適用于所有用DELPHI語言開發(fā)的項(xiàng)目。3. 編碼范規(guī)注:標(biāo)有的條目為強(qiáng)制檢查項(xiàng)。3.1. 文件1) 項(xiàng)目文件必須使用一個有意義的名字并且以Prj打頭。例如:Delphi中系統(tǒng)的項(xiàng)目文件被命名為 PrjSysInfo.dpr。2) unit文件使用Unit作為前綴。例如: 通常的unit 被命名為UnitGeneral。3) Form unit 文件的名字必須和Form的名稱保持一致。例如:主窗體叫frmMain 則Form Unit文件的名字為UnitfrmMain。4) Data Module unit 文件的名字必須和Data Module的名稱保持一致。例如:主Data Module叫DMMain,則Data Module Unit文件的名字為UnitDMMain。5) 公共單元統(tǒng)一命名為UnitPublic.pas。6) 對于文件的目錄要按如下結(jié)構(gòu)來創(chuàng)建:-SQL(腳本文件目錄)-DOC(文檔目錄)-Hlp(幫助文件目錄)-SRC(源碼文件目錄)-PROJECT(項(xiàng)目工程文件目錄)-BIN(EXE輸出目錄)-DCU(DCU輸出目錄)3.2. 注釋1) 注釋可以采用和/兩種注釋符號,但是涉及到多行注釋時盡量使用。2) 對于一行代碼的注釋可放在前一行及本行上,不允許放在下一行,更不允許在一行語句的中間加入注釋。3) 單元文件的文件頭注釋說明應(yīng)按如下格式:* Copyright (c) 2008-2011 福建星網(wǎng)視易信息系統(tǒng)有限公司 *unit UnitfrmCustomer; *=*系統(tǒng)名稱:精通管理系統(tǒng)*單元名稱:會員信息維護(hù)*單元作者:xxxx*功能描述:主要是進(jìn)行會員信息的增加修改和刪除以會員信息的寫卡和刷卡操作。*修改記錄:* 李明 2010-07-01 創(chuàng)建該單元 僅記錄功能修改,bug修改不記錄* 張山 2011-08-02 會員查詢增加按會員卡號查詢的條件4) 不必每行都加注釋,在310行左右的段落做注釋要好于每行都做注釋,顯而易見的代碼不加注釋。例如:if (ErrorCode 0) then /執(zhí)行過程失敗 無用的注釋beginShowMessage(保存員工信息失敗!);end;3.3. 編碼排版格式1) 代碼的縮進(jìn)應(yīng)使用空格(SPACE),不能使用制表符(TAB),并且縮進(jìn)以2字符為單位。2) begin語句和end語句在源程序中要獨(dú)占一行。例如: /不正確的用法for i := 0 to 10 do beginend;/正確的用法for i := 0 to 10 do beginend; 3) 空格的使用:a) 關(guān)鍵字與其后的表達(dá)式之間要有空格,如:if (expr) 或while (expr) b) 單目操作符不應(yīng)與它們的操作數(shù)分開(如和)。c) 除.外,其它雙目操作符應(yīng)與它們的操作數(shù)用空格隔開。例如: i:=i+1; /錯誤的寫法,操作符兩端沒有空格i := i + 1; /正確的寫法if(ab) then /錯誤的用法,邏輯判斷符號兩端沒有空格if (a b) then /正確的用法4) 每行只能有一個語句。例如:/不正確寫法a := a + 1; sum := sum + a;/正確寫法:a := a + 1;sum := sum + a;5) 一個過程或函數(shù)結(jié)束后,后續(xù)語句要隔一空行。例如:procedure GetMax():Integerbeginresult := MaxValue;end;一個過程或函數(shù)結(jié)束后,后續(xù)語句要隔一空行procedure GetMin():Integerbeginresult := MinValue;end;6) 每行的代碼不允許超出一個屏幕的寬度。3.4. 命名規(guī)范3.4.1. 保留字Object Pascal 語言的保留字或關(guān)鍵詞應(yīng)全部使用小寫字母,除下表中保留字外,private、protected、public、published 和automated 在對象類型說明中也作為保留字使用,at 和on 也有特殊意義。andarrayasasmbegincaseclassconstconstructordestructordispinterfacedivDodowntoelseendexceptexportsfilefinalizationfinallyforfunctiongotoifimplementationininheritedinitializationinlineinterfaceislabellibrarymodnilnotobjectoforoutpackedprocedureprogrampropertyraiserecordrepeatresourcestringsetshlshrstringthenthreadvartotrytypeunituntilusesvarwhilewithxor3.4.2. 過程和函數(shù)1) 程和函數(shù)的名稱應(yīng)全部使用有意義的單詞組成,并且所有單詞的第一個字母應(yīng)該使用大寫字母。例如:procedure formatharddisk; /不正確的命名procedure FormatHardDisk; /正確的命名2) 類變量內(nèi)容的過程和函數(shù)應(yīng)使用Set作為前綴,讀取變量內(nèi)容的過程和函數(shù)應(yīng)使用Get作為前綴。例如:procedure SetUserName;function GetUserName: string;3) 同一類型的參數(shù)寫在同一句中,例如:procedure Foot(Param1, Param2, Param3: integer; Param4: string);所有參數(shù)必須是有意義的;并且當(dāng)參數(shù)名稱和其它屬性名稱重了的時候,加一個前綴A。例如:procedure SomeProc(AUserName: string; AUserAge: integer);3.4.3. 變量1) 變量必須起有意義的名字,使其它組員可以很容易讀懂變量所代表的意義,變量命名可以采用同義的英文命名,可使用幾個英文單詞,但每一單詞的首字母必須大寫。例如:VarWriteFormat::string;2) 同時對于一些特定類型可采用一定的簡寫如下:指針類型 P紀(jì)錄類型Rec數(shù)組類型Arr循環(huán)控制變量通常使用單一的字符如:i, j, 或 k。 另外使用一個有意義的名字例如:UserIndex ,也是準(zhǔn)許的。3) 盡量不使用全局變量,如必須使用全局變量則必須加前綴Pub_,同時應(yīng)在變量名稱中體現(xiàn)變量的類型。例如:Pub_PrecUserCount: point; /名稱為UserCount的全局變量,其類型為指向一結(jié)構(gòu)的指針4) Form類和Data Modules Forms類的實(shí)例化變量命名應(yīng)與其去掉T的名字相一致。例如:varfrmAbout: TfrmAbout; 類TfrmAbout的實(shí)例化變量為frmAbout DMCustomer: TDMCustomer; 類TDMCustomer的實(shí)例化變量為DMCustomer3.4.4. 常量1) 避免在程序中直接出現(xiàn)常數(shù),使用超過一次的常數(shù)應(yīng)以宏定義或變量的常數(shù)形式來進(jìn)行替代。 2) 常數(shù)的宏定義應(yīng)與它實(shí)際使用時的類型相一致。如以2.0來定義浮點(diǎn)類型,用2表示整型。3) 常量的命名應(yīng)當(dāng)能夠表達(dá)出它的用途,并且要求用大寫字母表示。例如:const PI = 3.1415926;const TIMEOUT = 100;3.4.5. 類1) 類的名字必須有意義并且類型的名字之前要加前綴T。 例如:typeTCustomer = class(TObject)2) 類中定義的變量名字必須有意義并且在名字之前要加前綴F,所有的變量必須是私有的。如果需要從外部訪問此變量則需要聲明其屬性。3) 屬性的名稱要同其用于操作的去前綴F的類變量名稱相一致。4) 所有的屬性訪問方法必須出現(xiàn)在private 或 protected 中。屬性訪問方法的命名同函數(shù)和過程的命名另外讀方法(reader method)必須使用前綴Get. 寫方法(writer method)必須使用前綴Set。寫方法的參數(shù)必須命名為Value,其類型同所要寫的屬性相一致。例如:TSomeClass = class(TObject)privateFSomeField: Integer; FSomeField去”F”后跟SomeField相一致protectedfunction GetSomeField: Integer;procedure SetSomeField( Value: Integer);publicproperty SomeField: Integer read GetSomeField write SetSomeField; end;5) Form類命名使用Tfrm作為前綴。例如: TfrmAbout = class(TForm)TfrmMain = class(TForm)6) Data Modules Forms類的命名應(yīng)使用 TDM作為前綴。例如:TDMCustomer = class(TDataModule)TDMOrders = class(TDataModule)3.4.6. 控件1) 控件的變量命名格式為:簡寫+名稱,如:用戶輸入的TEdit控件的命名為edtUsername??丶拿Q簡寫列表如下:Standard Tab簡寫控件mmTMainMenupmTPopupMenummiTMainMenuItempmiTPopupMenuItemlblTLabeledtTEditmemTMemobtnTButtoncbTCheckBoxrbTRadioButtonlbTListBoxcbTComboBoxscbTScrollBargbTGroupBoxrgTRadioGrouppnlTPanelclTCommandListAdditional Tab縮寫控件bbtnTBitBtnsbTSpeedButtonmeTMaskEditsgTStringGriddgTDrawGridimgTImageshpTShapebvlTBevelsbxTScrollBoxclbTCheckListboxsplTSplitterstxTStaticTextchtTChartWin32 Tab縮寫控件tbcTTabControlpgcTPageControlilTImageListreTRichEdittbrTTrackBarprbTProgressBarudTUpDownhkTHotKeyaniTAnimatedtpTDateTimePickertvTTreeViewlvTListViewhdrTHeaderControlstbTStatusBartlbTToolBarclbTCoolBarSystem Tab縮寫控件tmTTimerpbTPaintBoxmpTMediaPlayerolecTOleContainerddccTDDEClientConvddciTDDEClientItemddscTDDEServerConvddsiTDDEServerItemData Access Tab縮寫控件dsTDataSourcetbl TTableqry TQuerysp TStoredProcdb TDataBasessnTSessionbm TBatchMoveusql TUpdateSQLData Controls Tab縮寫控件dbgTDBGriddbn TDBNavigatordbt TDBTextdbe TDBEditdbm TDBMemodbi TDBImagedblb TDBListBoxdbcb TDBComboBoxdbch TDBCheckBoxdbrg TDBRadioGroupdbll TDBLookupListBoxdblc TDBLookupComboBoxdbre TDBRichEditdbcg TDBCtrlGriddbch TDBChartDialogs Tab縮寫控件OpenDialog TOpenDialogSaveDialogTSaveDialogOpenPictureDialogTOpenPictureDialogSavePictureDialogTSavePictureDialogFontDialogTFontDialogColorDialogTColorDialogPrintDialogTPrintDialogPrinterSetupDialogTPrintSetupDialogFindDialogTFindDialogReplaceDialogTReplaceDialogMidas Tab縮寫控件prvTProvidercdsTClientDataSetqcdsTQueryClientDataSetdcomTDCOMConnectionoleeTOleEnterpriseConnectionsckTSocketConnectionrmsTRemoteSer
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年電子商務(wù)師(高級)電子商務(wù)數(shù)據(jù)分析工具與應(yīng)用技能鑒定試卷
- 2025年電梯安裝改造維修作業(yè)特種作業(yè)操作證考試試卷(電梯安裝改造施工質(zhì)量控制難點(diǎn)攻克篇)
- 2025年保育員(一級)兒童教育政治學(xué)研究方法實(shí)驗(yàn)考試試卷
- 2025年消防安全知識培訓(xùn)考試題庫:消防法律法規(guī)精解消防安全培訓(xùn)評估報告試題
- 2025年春季煙花爆竹安全作業(yè)操作證考試試卷(安全操作規(guī)范應(yīng)用與培訓(xùn))
- 2025年壓痕機(jī)項(xiàng)目規(guī)劃申請報告
- 語文課本中的一處美景寫景作文(12篇)
- 中考道德與法治二輪復(fù)習(xí) 熱點(diǎn)專題:捍衛(wèi)國家利益維護(hù)國家安全 課件
- 正式工作履歷及崗位證明函(7篇)
- 2025年電子商務(wù)師(初級)考試試卷:電商數(shù)據(jù)分析與市場細(xì)分策略
- 跌倒墜床原因分析預(yù)防措施
- 旅行社導(dǎo)游帶團(tuán)操作流程
- 部編版小學(xué)道德與法治三年級下冊期末質(zhì)量檢測試卷【含答案】5套
- 弱電施工安全技術(shù)交底
- DB21T 3354-2020 遼寧省綠色建筑設(shè)計(jì)標(biāo)準(zhǔn)
- (完整版)重大危險源清單及辨識表
- 安全生產(chǎn)知識應(yīng)知應(yīng)會
- 11級設(shè)計(jì)題目寶豐紅四煤礦
- 08S305-小型潛水泵選用及安裝圖集
- 體育器材采購設(shè)備清單
- 二手車鑒定評估報告書最終
評論
0/150
提交評論