經(jīng)典案例
  • 金融大數(shù)據(jù)解決方案
  • 汽車大數(shù)據(jù)解決方案
  • 政府大數(shù)據(jù)解決方案
  • 鐵路大數(shù)據(jù)解決方案
  • 電力大數(shù)據(jù)解決方案
  • 軍工大數(shù)據(jù)解決方案
  • 解放軍總裝備部
  • 中國航天科工集團
  • 航天科技集團

北京軟件開發(fā)公司--軟件編碼設(shè)計過程性規(guī)范

發(fā)布于:2020-01-03 21:14來源:北京軟件開發(fā)公司 作者:北京軟件開發(fā)公司 點擊:


 

【北京華盛恒輝科技有限公司 ——(hivekion)是全球領(lǐng)先的IT解決方案提供商,專注IT產(chǎn)品研發(fā)與服務,堅持穩(wěn)健經(jīng)營、持續(xù)創(chuàng)新、開放合作,在安全生產(chǎn)、大數(shù)據(jù)處理等領(lǐng)域構(gòu)筑了端到端的解決方案優(yōu)勢,為企業(yè)客戶提供有競爭力的IT解決方案、 產(chǎn)品和服務, 并致  力于使能未來信息社會、 構(gòu)建更美好的世界。

1.1.編寫目的:


     使用統(tǒng)一編碼約定集的主要原因,是使應用程序的結(jié)構(gòu)和編碼風格標準化,以便于閱讀和理解這段編碼。好的編碼約定可使源代碼嚴謹、可讀性強且意義清楚,與其它語言約定相一致,并且盡可能的直觀。一組通用目的的編碼約定應該定義完成上述目的所必需的、能讓程序員自由地創(chuàng)建程序邏輯和功能流程的小的要求。編碼約定的目的是使程序易于閱讀和理解,而不是用過份的約束和絕對的限制來束縛程序員本身的創(chuàng)造性。

1.2內(nèi)容:

     
程序設(shè)計語言的特性和風格會直接影響到軟件開發(fā)的質(zhì)量和可維護性。

編碼原則:

     應盡量避免在系統(tǒng)初始化時運行過多的代碼。(此處加入詳細原則)
 

  1. 選用控制結(jié)構(gòu)只準許一個入口和一個出口。
  2. 程序語句組成容易識別的塊,每塊只有一個入口和一個出口。
  3. 復雜的結(jié)構(gòu)應該用基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn)。
  4. 語句中沒有的控制結(jié)構(gòu),可用一段等價的程序段模擬,但要求該程序段在整個系統(tǒng)應前后一致。
  5. 嚴格控制GOTO語句,僅在下列情形才可使用。
  1. 用一個非結(jié)構(gòu)化的程序設(shè)計語言去實現(xiàn)一個結(jié)構(gòu)化的構(gòu)造。
  2. 在某種可以改善而不是損害程序可讀性的情況下。 
     

1.2.1對象命名約定

公式:對象名稱=對象前綴+自定義名稱(自定義名稱要有一定的意義且第一個字母大寫)
說明:如果是不需要對其編碼的對象,那么對象名用默認對象名。
應該用一致的前綴來命名對象,使人們?nèi)菀鬃R別對象的類型。下面列出了 Delphi 支持的一些推薦使用的對象約定。

(1)推薦使用的項目前綴
(2)推薦使用的控件前綴
(3)推薦使用的數(shù)據(jù)訪問對象的前綴用下列前綴來指示數(shù)據(jù)訪問對象。

(4)推薦使用的菜單前綴應用程序頻繁使用許多菜單控件,對于這些控件具備一組唯一的命名約定很實用。除了前面 "mnu" 標記以外,菜單控件的前綴應該被擴展:對每一級嵌套增加一個附加前綴,將終的菜單的標題放在名稱字符串的后。下表列出了一些例子。

 
菜單標題序列菜單處理器名稱
(此處加入標題序列及處理器名稱

 
 
當使用這種命名約定時,一個特定的菜單組的所有成員一個接一個地列在 Visual Basic 的“屬性”窗口中。而且,菜單控件的名字清楚地表示出它們所屬的菜單項。
 
(5)為其它控件選擇前綴
對于上面沒有列出的控件,應該用唯一的由兩個或三個字符組成的前綴使它們標準化,以保持一致性。只有當需要澄清時,才使用多于三個字符的前綴。
 
例如,(此處加入例子

 

 

1.2.2常量和變量命名約定

公式:常量或變量名稱=常量或變量范圍前綴+常量或變量類型前綴+自定義名稱(自定義名稱要有一定的意義且第一個字母大寫)
 
除了對象之外,常量和變量也需要良好格式的命名約定。本節(jié)列出了(此處加入變量列表。
變量應該總是被定義在盡可能小的范圍內(nèi)。全局 (Public) 變量可以導致極其復雜的狀態(tài)機構(gòu),并且使一個應用程序的邏輯非常難于理解。全局變量也使代碼的重用和維護更加困難。

Delphi中的變量可以有下列范圍:
范圍聲明位置 可見位置
過程級(此處加入名稱
模塊級(此處加入名稱
全局(此處加入名稱。
較好的編碼習慣是盡可能寫模塊化的代碼。例如,如果應用程序顯示一個對話框,就把要完成這一對話任務所需要的所有控件和代碼放在單一的窗體中。這有助于將應用程序的代碼組織在有用的組件中,并減小它運行時的開銷。
 
除了全局變量(應該是不被傳遞的),過程和函數(shù)應該僅對傳遞給它們的對象操作。在過程中使用的全局變量應該在過程起始處的聲明部分中標識出來。
變量范圍前綴
隨著工程大小的增長,劃分變量范圍的工作也迅速增加。在類型前綴的前面放置單字母范圍前綴標明了這種增長,但變量名的長度并沒有增加很多。
 

范圍 前綴 例子
全局 g GstrUserName
模塊級 m MblnCalcInProgress
本地到過程 DblVelocity
 
(此處加入說明
 
變量
聲明所有的變量將會(此處加入說明
應該給變量加前綴來指明它們的數(shù)據(jù)類型。而且前綴可以被擴展,用來指明變量范圍,特別是對大型程序。

 
變量數(shù)據(jù)類型
用下列前綴來指明一個變量的數(shù)據(jù)類型。
(此處加入說明
描述變量和過程名
變量或過程名的主體應該使用大小寫混合形式,并且應該足夠長以描述它的作用。而且,函數(shù)名(此處加入函數(shù)名稱
對于頻繁使用的或長的項,推薦使用標準縮略語以使名稱的長度合理化。一般來說,(此處加入特例說明就困難了。
當使用縮略語時,要確保它們在整個應用程序中的一致性。在一個工程中,如果一會兒使用(此處加入說明問題,將導致不必要的混淆。
 
用戶定義的類型
在一項有許多用戶定義類型的大工程中,常常有必要給每種類型一個它自己的三個字符的前綴。如果這些前綴是(此處加入前綴名稱。

1.2.3結(jié)構(gòu)化編碼約定

(此處加入約定說明
 
記住下列幾點:
每一個重要變量的聲明應該包括(此處加入變量名稱
(2)格式化代碼
因為許多程序員(此處加入問題

 
(此處加入解決問題的說明
(3)給常量分組
變量和定義的常量應該按功能分組,而不是分散到單獨區(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)當日期、時間型數(shù)據(jù)要求嚴格時,(此處加入說明
(2)記錄集應用約束
【北京華盛恒輝科技有限公司 ——(hivekion)是全球領(lǐng)先的北京軟件開發(fā)公司,專注IT產(chǎn)品研發(fā)與服務,堅持穩(wěn)健經(jīng)營、持續(xù)創(chuàng)新、開放合作,在安全生產(chǎn)、大數(shù)據(jù)處理等領(lǐng)域構(gòu)筑了端到端的解決方案優(yōu)勢,為企業(yè)客戶提供有競爭力的IT解決方案、 產(chǎn)品和服務, 并致力于使能未來信息社會、 構(gòu)建更美好的世界。
tag標簽:
------分隔線----------------------------
------分隔線----------------------------
QQ客服熱線