(注釋開頭與上一函數最后一行間隔兩行)
/********************************************************************
標題:assignmentComplete
功能:BSC=>MSC消息生成函數,生成assignment_complete指配完成消息(BSMAP消息) .
格式:
int assignmentComplete(int iCellId, int iServiceChannnelNum, char *pszMSGData) throw(exception1, exception2)
輸入:
int iCellId: MS所在的小區識別
iCellId取值:0x00-——0xff .4.
Q/ECC/BJ 010—2001
int iServiceChannnelNum:MS所占的業務信道號碼
輸出:
char * pszMSGData:指配完成消息數據
返回值: 0x00正常
異常:exception1異常情況1, exception2異常情況2
********************************************************************/
( 注釋后直接開始程序正文,不空行。)
1.3.5功能性注釋嵌在源程序體中,用于描述其后的語句或程序段做什么工作,也就是解釋下面要做什么,或是執行了下面的語句會怎么樣。而不要解釋下面怎么做,因為解釋怎么做常常與程序本身是重復的。
例:
/*把 amount 加到 total中*/
total = amount + total;
這樣的注釋僅僅是重復了下面的程序,對于理解它的工作并沒有什么作用。而下面的注釋,有助于讀者理解。
/*將每月的銷售額amount加到年銷售額total中*/
total = amount + total;
1.4 函數編寫應盡可能短小精悍,一般不超過兩屏,以便于調試和理解。
1.5語句結構
為保證語句結構的清晰和程序的可讀性,在編寫軟件程序時應注意以下幾個方面的問題:
——在一行內只寫一條語句,并采用空格、空行和移行保證清楚的視覺效果。
——每一個嵌套的函數塊,使用一個TAB縮進(可以設定為4個空格),大括號必須放在條件語句的下一行,單獨成一行,便于匹對:
如,有一段程序如下:
for(i=1;i<n-1;i++){ t=1; for(j=i+1;j<n;j++){
if(a[j]<a[t] ) t=j; if(t!=i ){work=a[t];a[t]=a[I];a[I]=work;}}}
應寫為
for( i=1; i<n-1; i++)
{
t=1;
for(j = i+1; j<n; j++)
{
if(a[i]<a[j])
t=j;
if(t!=1)
{ .5.
Q/ECC/BJ 010—2001
work=a[t];
a[t]=a[i];
a[i]=work;
}
}
}
——文件之中不得存在無規則的空行,比如說連續十個空行。
一般來講函數與函數之間的空行為2-3行;
在函數體內部,在邏輯上獨立的兩個函數塊可適當空行,一般為1-2行。
——程序編寫首先應考慮清晰性,不要刻意追求技巧性而使得程序難以理解。
——每行長度盡量避免超過屏幕寬度,應不超過80個字符。
——除非對效率有特殊要求,編寫程序要作到清晰第一,效率第二。
——盡可能使用函數庫。
——盡量用公共過程或子程序去代替重復的功能代碼段。要注意,這個代碼應具有一個獨立的功能,不要只因代碼形式一樣便將其抽出組成一個公共過程或子程序。
——使用括號清晰地表達算術表達式和邏輯表達式的運算順序。如將 x=a*b/c*d 寫成 x=(a*b/c)*d可避免閱讀者誤解為x=(a*b)/(c*d)。
——避免不必要的轉移。
——避免采用過于復雜的條件測試。
——避免過多的循環嵌套和條件嵌套。
——建議不要使用 *=,^=, /=等運算符。
——一個函數不要超過200行。一個文件應避免超過2000行。
——盡量避免使用go to語句。
——避免采用多賦值語句,如x = y = z ;
——不鼓勵采用?:操作符,如z = (a>b)?a:b;
——不要使用空的if else 語句。如
if(cMychar >= ‘A’)
if(cMychar <= ‘Z’)
printf(“This is a letter \n”);
else
printf(“This is not a letter \n”);
else到底是否定哪個if容易引起誤解?赏ㄟ^加{}避免誤解。
——盡量減少使用“否定”條件的條件語句。如:
把 if( !( (cMychar<’0’) || (cMychar>’9’) ) )
改為if( (cMychar>=’0’) && (cMychar<=’9’) )
文章來源于領測軟件測試網 http://www.kjueaiud.com/