資源描述:
《delphi源程序代碼規(guī)范》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、Delphi源程序代碼規(guī)范V1.0鼎創(chuàng)公司2005-8-1318I.總則1.1目的為了對程序員的開發(fā)進(jìn)行適當(dāng)?shù)囊?guī)范化,特制定本規(guī)范。其根本目的,是為了保證程序具有良好的、一致的結(jié)構(gòu),以期提高程序的可讀性及可維護(hù)性,方便程序的測試、維護(hù)、升級等工作,同時,也培養(yǎng)程序員書寫代碼的規(guī)范性。1.2原則名稱反映含義,形式反映結(jié)構(gòu);1.3申明本規(guī)范適用于采用DELPHI作開發(fā)工具的公司所有項目,程序員應(yīng)嚴(yán)格按照本規(guī)范編寫代碼,如項目有確實需要的特殊要求,也必須經(jīng)項目經(jīng)理審核后,把該特殊要求形成文檔當(dāng)作本文檔的隨附文件一起保存。1
2、.4文檔編寫:XXX2001年6月23日第一次修改:XXX2001年7月7日第二次修改:XXX2001年9月28日II.代碼規(guī)范2.1項目規(guī)范2.1.1.每一個項目的代碼、文檔按模塊、功能必須在項目文件夾中有條理的歸類存放,每個項目文件夾中均必須包含以下子文件夾:Code:源代碼目錄Sql:數(shù)據(jù)庫腳本目錄Demodata:演示數(shù)據(jù)目錄Userdata:用戶數(shù)據(jù)目錄Help:幫助文檔目錄Install:安裝文件目錄Document:文檔目錄Picture:圖片目錄templates:報表模板目錄子文件夾下也必須依照詳細(xì)
3、的用途分類建立子目錄。詳細(xì)的示例如下:示例:ProjectName
4、codesqldemodataPicturehelpinstalldocumenttemplates
5、
6、appserverclient
7、
8、測試文檔設(shè)計文檔數(shù)據(jù)字典需求分析用戶文檔module1module2module3……182.1.2.每個項目的主目錄下均必須有一個項目說明文件,說明該項目的一些概要性提示和相關(guān)規(guī)范。2.1.3.在項目文件夾下的每層每個子目錄中必須有一個文件夾說明文件,說明該層文件夾及其子文件夾的分類方法和含義。任何時候,新增一個
9、文件夾時,均必須在同層目錄下的文件夾說明文件中添加所新增文件夾的分類含義,同時創(chuàng)建該文件夾下的文件夾說明文件。2.1.4.工程文件代碼規(guī)范:A.任何一個工程文件(包括動態(tài)鏈接庫工程文件)的第一部分必須用注釋的形式說明項目名稱、公司版權(quán)、工程描述、版本說明、創(chuàng)建日期、作者以及后續(xù)更新人員。B.除主模塊、公共函數(shù)模塊和公共數(shù)據(jù)模塊外,所有該項目下的單元不可由項目自動創(chuàng)建(CREATE),在加入新單元后,必須在工程文件中刪除自動CREATE的語句。C.工程文件的其余代碼遵行本文檔約定的單元規(guī)范及其它代碼規(guī)范;2.2單元總體
10、規(guī)范2.2.1每個單元的第一部分必須用注釋的形式說明項目名稱、公司版權(quán);2.2.2必須緊接在單元名之后以注釋的形式說明項目名稱、模塊名稱、模塊描述、模塊版本、創(chuàng)建日期、作者、更新人以及TODO列表;2.2.3在INTERFACE部分USE的單元原則上只允許DELPHI的IDE自動添加,如確需自己添加必須在引用到的單元名后用{}注釋添加原因。用于編譯開關(guān)控制的偽指令插入在USES之前。2.2.4Interface部分應(yīng)當(dāng)只包含需要被外部單元訪問的類型、變量、過程和函數(shù)的聲明,而且這些聲明應(yīng)當(dāng)在Implementatio
11、n部分之前。2.2.5Implementation部分包含本單元私有的類型、變量、過程和函數(shù)的聲明。2.2.6除非確實需要,不要在Initialization部分寫過多代碼,如有代碼應(yīng)詳細(xì)注釋說明必須寫在Initialization部分的原因。2.2.7在Finalization部分釋放所有在Initialization部分中分配的資源。2.2.8除主FORM外,每個FORM單元都應(yīng)當(dāng)含有實例化函數(shù)(入口函數(shù)),用于創(chuàng)建、設(shè)置、顯示和釋放FORM。FORM的變量應(yīng)當(dāng)從單元中移走,改在實例化函數(shù)中作為局部變量定義(要先
12、從ProjectOptions對話框的自動生成列表中移走該FORM)。(參見2.1.4.B)2.2.9總體風(fēng)格18縮進(jìn)規(guī)則:每級間保持兩個空格。不要將"Tab"符號存儲到源文件中,原因是"Tab"字符在不同的源代碼管理中寬度會有不同的定義。在Tools
13、EditorOptions的General頁不要選中SetTabCharacter和OptimalFill復(fù)選框,制表符"Tab"即不會被保存。邊距頁寬:邊距應(yīng)保持默認(rèn)設(shè)置的80個字符,只要可能,長度超過一行的語句必須用逗號或運算符換行。換行后,應(yīng)縮進(jìn)兩個字符。注釋規(guī)
14、則:只有在一行的行末注釋時才用//,否則均必須使用{}來注釋??招惺褂茫盒枋褂每招械牡胤接校喊鏅?quán)塊、類之間、方法過程函數(shù)之間、方法內(nèi)部算法分段??招兄荒苡靡恍?,多余的空行必須刪除。Begin…End:任何情況下,Begin和End均必須各自獨占一行。End總和對應(yīng)的Begin左對齊。工具使用:所有單元提交給版本控制工具之前必須用SourceCo