[個體軟體過程]之缺陷管理--編碼標準 (轉)

amyz發表於2007-08-14
[個體軟體過程]之缺陷管理--編碼標準 (轉)[@more@]

程式碼複查

編碼標準。編碼標準是被廣泛接受的、能夠作為工作樣板的編碼實踐集。良好的編碼標準將有效地幫助您避免開發有潛在危險的程式碼,有助於預防缺陷。例如,可以在編碼標準中列出那些應該避免使用的方法,規定號迴圈入口或在說明是初始化變數,避免不良的變數命名等。編碼標準還能有效地統一和規範整體開發活動。當其他開發人員加入到專案中來時,他們能夠很好地適應這一切。程式碼也將變得更規範更易維護。:namespace prefix = o ns = "urn:schemas--com::office" />

表4.5  C++編碼標準

目標

指導C++的開發

程式頭

程式頭格式

所有程式都應從一個描述性的開頭開始

/********************************************************************/

/*Program Assignment:程式號   */

/*Name:  你的姓名  */

/*Date:  程式開發開始日期  */

/*Description:  對程式功能的一個簡單描述  */

/********************************************************************/

清單內容

內容距離

一份清單內容的概要

/********************************************************************/

/*Listing Contents (清單內容):  */

/*  Reuse Instruction (重用指導)  */

/*  Includes (包括)  */

/*  Class Declararions (類說明)  */

/*  CData  */

/*  Aset  */

/*  Code in C (用C編寫的): classesCdata.cpp:  */

/*  Cdata  */

/*  Cdata()  */

/*  Empty()   */

/********************************************************************/

重用指導

 

示例

描述如何使用該程式。提供說明格式、引數值和型別以及引數範圍;

提供對值、條件或其他潛在的有可能引起非正常操作的條件等方面的警告。

/********************************************************************/

/*Reuse Instruction (重用指導)  */

/*  Int Printline(char *line_of_character)  */

/*  目的:畫線,’line_of_character’,位於同一列印行  */

/*  限制:線長最多為LINE_LENGTH  */

/*  Return:0 if 印表機未準備好  */

/*  else 1  */

/********************************************************************/

識別符號

 

識別符號示例

所有變數、名、常數以及其它識別符號都是用帶有描述性的名稱。避免縮寫形式或僅有一個字母的變數名。

int number_of_students  /*此識別符號好*/

int x4,j,ftave  /*此識別符號不好*/

註釋

 

 

好的註釋

不好的註釋

程式主體

示例

編碼、文件要充分,以幫助讀者理解其功能;

註釋及應說明編碼的目的,也應說明編碼的行為;

對變數宣告進行註釋,指出說明該變數的目的。

If (record_count>limit)  /*是否所有的記錄都處理了*/

If (record_count>limit)  /*檢查record_count是否超過限制*/

程式主體前應有一段註釋來描述由以下部分所作的處理。

/********************************************************************/

/*以下程式部分將檢察署駐“grades”的內容,並將計算班級成績的平均值。 */

/********************************************************************/

空白區域

為了增加程式的可讀性,寫程式時應留出一定的空間;

每個程式結構之間至少有一空行將它們隔開。

縮排

 

縮排示例

不同級別的括號之間應該有縮排;

每一個起始括號和終止括號應單獨佔一行。

While (miss_distance > threshold)

{

success_code=move_robot(target_location);

if (success_code==MOVE_FAILED)

{

  pringf(“The robot move has failed. ”)

}

}

大寫

 

 

大寫示例

所有定義應大寫;

所有其它識別符號及保留值均應小寫;

對的輸出資訊可以大、小寫相混合,以便使用者清晰明瞭。

#define DEFAULT_NUMBER_OF_STUDENTS 15

int class_size=DEFAULT_NUMBER_OF_STUDENTS;

 

其他種類的程式碼複查。在組織中,一種常用的方法是同行評審,就是幾個工程師彼此複查程式。組織良好的同行評審一般會發現程式中50%~70%的缺陷。互查雖然需要很多時間,但是可以有效發現缺陷,因為工程師往往難於發現自己的設計錯誤。他們創作這個設計,直到程式應該完整什麼,即使概念有瑕疵、作了錯誤的設計或實現假定,他們往往很難發現。檢查這可以幫助他們克服這些問題。對一個大的專案,最佳檢查策略是,先做個人程式碼複查再進行編譯,然後在任何測試前進時行同行檢查。

細心工作是有回報的。當工程師覺得對自己開發的程式附有質量責任時,他就不會依賴於或其他工具來發現缺陷。全面的程式碼複查要花費時間,但是他們節省出來的時間比花費的時間多得多,並能夠生產出更好的產品。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-956403/,如需轉載,請註明出處,否則將追究法律責任。

相關文章