1.1.編寫目的:
使用統(tǒng)一編碼約定集的主要原因,是使應(yīng)用程序的結(jié)構(gòu)和編碼風(fēng)格標(biāo)準(zhǔn)化,以便于閱讀和理解這段編碼。好的編碼約定可使源代碼嚴謹、可讀性強且意義清楚,與其它語言約定相一致,并且盡可能的直觀。一組通用目的的編碼約定應(yīng)該定義完成上述目的所必需的、能讓程序員自由地創(chuàng)建程序邏輯和功能流程的小的要求。編碼約定的目的是使程序易于閱讀和理解,而不是用過份的約束和絕對的限制來束縛程序員本身的創(chuàng)造性。
1.2內(nèi)容:
程序設(shè)計語言的特性和風(fēng)格會直接影響到軟件開發(fā)的質(zhì)量和可維護性。
編碼原則:
應(yīng)盡量避免在系統(tǒng)初始化時運行過多的代碼。(此處加入詳細原則)- 選用控制結(jié)構(gòu)只準(zhǔn)許一個入口和一個出口。
- 程序語句組成容易識別的塊,每塊只有一個入口和一個出口。
- 復(fù)雜的結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn)。
- 語句中沒有的控制結(jié)構(gòu),可用一段等價的程序段模擬,但要求該程序段在整個系統(tǒng)應(yīng)前后一致。
- 嚴格控制GOTO語句,僅在下列情形才可使用。
- 用一個非結(jié)構(gòu)化的程序設(shè)計語言去實現(xiàn)一個結(jié)構(gòu)化的構(gòu)造。
-
在某種可以改善而不是損害程序可讀性的情況下。
1.2.1對象命名約定
公式:對象名稱=對象前綴+自定義名稱(自定義名稱要有一定的意義且第一個字母大寫)說明:如果是不需要對其編碼的對象,那么對象名用默認對象名。
應(yīng)該用一致的前綴來命名對象,使人們?nèi)菀鬃R別對象的類型。下面列出了 Delphi 支持的一些推薦使用的對象約定。
(1)推薦使用的項目前綴
(2)推薦使用的控件前綴
(3)推薦使用的數(shù)據(jù)訪問對象的前綴用下列前綴來指示數(shù)據(jù)訪問對象。
(4)推薦使用的菜單前綴應(yīng)用程序頻繁使用許多菜單控件,對于這些控件具備一組唯一的命名約定很實用。除了前面 "mnu" 標(biāo)記以外,菜單控件的前綴應(yīng)該被擴展:對每一級嵌套增加一個附加前綴,將終的菜單的標(biāo)題放在名稱字符串的后。下表列出了一些例子。
(2)推薦使用的控件前綴
(3)推薦使用的數(shù)據(jù)訪問對象的前綴用下列前綴來指示數(shù)據(jù)訪問對象。
(4)推薦使用的菜單前綴應(yīng)用程序頻繁使用許多菜單控件,對于這些控件具備一組唯一的命名約定很實用。除了前面 "mnu" 標(biāo)記以外,菜單控件的前綴應(yīng)該被擴展:對每一級嵌套增加一個附加前綴,將終的菜單的標(biāo)題放在名稱字符串的后。下表列出了一些例子。
菜單標(biāo)題序列菜單處理器名稱
(此處加入標(biāo)題序列及處理器名稱)
當(dāng)使用這種命名約定時,一個特定的菜單組的所有成員一個接一個地列在 Visual Basic 的“屬性”窗口中。而且,菜單控件的名字清楚地表示出它們所屬的菜單項。
(5)為其它控件選擇前綴
對于上面沒有列出的控件,應(yīng)該用唯一的由兩個或三個字符組成的前綴使它們標(biāo)準(zhǔn)化,以保持一致性。只有當(dāng)需要澄清時,才使用多于三個字符的前綴。
例如,(此處加入例子)
1.2.2常量和變量命名約定
公式:常量或變量名稱=常量或變量范圍前綴+常量或變量類型前綴+自定義名稱(自定義名稱要有一定的意義且第一個字母大寫)除了對象之外,常量和變量也需要良好格式的命名約定。本節(jié)列出了(此處加入變量列表)。
變量應(yīng)該總是被定義在盡可能小的范圍內(nèi)。全局 (Public) 變量可以導(dǎo)致極其復(fù)雜的狀態(tài)機構(gòu),并且使一個應(yīng)用程序的邏輯非常難于理解。全局變量也使代碼的重用和維護更加困難。
Delphi中的變量可以有下列范圍:
范圍聲明位置 可見位置
過程級(此處加入名稱)
模塊級(此處加入名稱)
全局(此處加入名稱)。
較好的編碼習(xí)慣是盡可能寫模塊化的代碼。例如,如果應(yīng)用程序顯示一個對話框,就把要完成這一對話任務(wù)所需要的所有控件和代碼放在單一的窗體中。這有助于將應(yīng)用程序的代碼組織在有用的組件中,并減小它運行時的開銷。
除了全局變量(應(yīng)該是不被傳遞的),過程和函數(shù)應(yīng)該僅對傳遞給它們的對象操作。在過程中使用的全局變量應(yīng)該在過程起始處的聲明部分中標(biāo)識出來。
變量范圍前綴
隨著工程大小的增長,劃分變量范圍的工作也迅速增加。在類型前綴的前面放置單字母范圍前綴標(biāo)明了這種增長,但變量名的長度并沒有增加很多。
范圍 | 前綴 | 例子 |
全局 | g | GstrUserName |
模塊級 | m | MblnCalcInProgress |
本地到過程 | 無 | DblVelocity |
(此處加入說明)
變量
聲明所有的變量將會(此處加入說明)。
應(yīng)該給變量加前綴來指明它們的數(shù)據(jù)類型。而且前綴可以被擴展,用來指明變量范圍,特別是對大型程序。
變量數(shù)據(jù)類型
用下列前綴來指明一個變量的數(shù)據(jù)類型。
(此處加入說明)
描述變量和過程名
變量或過程名的主體應(yīng)該使用大小寫混合形式,并且應(yīng)該足夠長以描述它的作用。而且,函數(shù)名(此處加入函數(shù)名稱)。
對于頻繁使用的或長的項,推薦使用標(biāo)準(zhǔn)縮略語以使名稱的長度合理化。一般來說,(此處加入特例說明)就困難了。
當(dāng)使用縮略語時,要確保它們在整個應(yīng)用程序中的一致性。在一個工程中,如果一會兒使用(此處加入說明問題),將導(dǎo)致不必要的混淆。
用戶定義的類型
在一項有許多用戶定義類型的大工程中,常常有必要給每種類型一個它自己的三個字符的前綴。如果這些前綴是(此處加入前綴名稱)。
1.2.3結(jié)構(gòu)化編碼約定
(此處加入約定說明)記住下列幾點:
每一個重要變量的聲明應(yīng)該包括(此處加入變量名稱)。
(2)格式化代碼
因為許多程序員(此處加入問題)
(此處加入解決問題的說明)
(3)給常量分組
變量和定義的常量應(yīng)該按功能分組,而不是分散到單獨區(qū)域或特定文件中。
(4)運算符
(此處加入運算符列表及說明)
(5)為(此處加入問題) 查詢創(chuàng)建字符串
(此處加入說明)
1.2.4數(shù)據(jù)源的約定
(此處加入數(shù)據(jù)源的約定)1.2.5數(shù)據(jù)庫訪問約定
訪問數(shù)據(jù)庫用ODBC drivers/ADO,但如果在有的技術(shù)ADO解決不了的情況下可用其他方法。數(shù)據(jù)庫訪問技術(shù)有:(此處加入說明)
1.2.6其他約定
(1)當(dāng)日期、時間型數(shù)據(jù)要求嚴格時,(此處加入說明)(2)記錄集應(yīng)用約束
【北京華盛恒輝科技有限公司 ——(hivekion)是全球領(lǐng)先的北京軟件開發(fā)公司,專注IT產(chǎn)品研發(fā)與服務(wù),堅持穩(wěn)健經(jīng)營、持續(xù)創(chuàng)新、開放合作,在安全生產(chǎn)、大數(shù)據(jù)處理等領(lǐng)域構(gòu)筑了端到端的解決方案優(yōu)勢,為企業(yè)客戶提供有競爭力的IT解決方案、 產(chǎn)品和服務(wù), 并致力于使能未來信息社會、 構(gòu)建更美好的世界。】