亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 編程規范與范例(1).txt

?? 編程規范,各程編程的規范說明,及要注意的問題!
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
[編程技巧]編程規范與范例(1)
程序匠人 發表于 2005-8-27 20:14:00       閱讀全文(340) | 回復(0) | 引用(0) 
編程規范與范例(1)  
〖文章轉載或出處〗≡中國電子技術信息網≡ 網址:www.CETINet.com 
編程規范與范例(1)

目  錄
1 排版 6
2 注釋 11
3 標識符命名 18
4 可讀性 20
5 變量、結構 22
6 函數、過程 28
7 可測性 36
8 程序效率 40
9 質量保證 44
10 代碼編輯、編譯、審查 50
11 代碼測試、維護 52
12 宏 53
 
1 排版
¹ 1-1:程序塊要采用縮進風格編寫,縮進的空格數為4個。
說明:對于由開發工具自動生成的代碼可以有不一致。
¹ 1-2:相對獨立的程序塊之間、變量說明之后必須加空行。
示例:如下例子不符合規范。
if (!valid_ni(ni))
{
    ... // program code
}
repssn_ind = ssn_data[index].repssn_index;
repssn_ni  = ssn_data[index].ni;

應如下書寫
if (!valid_ni(ni))
{
    ... // program code
}

repssn_ind = ssn_data[index].repssn_index;
repssn_ni  = ssn_data[index].ni;
¹ 1-3:較長的語句(>80字符)要分成多行書寫,長表達式要在低優先級操作符處劃分新行,操作符放在新行之首,劃分出的新行要進行適當的縮進,使排版整齊,語句可讀。
示例:
perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN
                          + STAT_SIZE_PER_FRAM * sizeof( _UL );

act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index].occupied
              = stat_poi[index].occupied;

act_task_table[taskno].duration_true_or_false
              = SYS_get_sccp_statistic_state( stat_item );

report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER)
                      && (n7stat_stat_item_valid (stat_item))
                      && (act_task_table[taskno].result_data != 0));
 
&sup1; 1-4:循環、判斷等語句中若有較長的表達式或語句,則要進行適應的劃分,長表達式要在低優先級操作符處劃分新行,操作符放在新行之首。
示例:
if ((taskno < max_act_task_number)
    && (n7stat_stat_item_valid (stat_item)))
{
    ... // program code
}

for (i = 0, j = 0; (i < BufferKeyword[word_index].word_length)
                    && (j < NewKeyword.word_length); i++, j++)
{
    ... // program code
}

for (i = 0, j = 0;  
     (i < first_word_length) && (j < second_word_length);  
     i++, j++)
{
    ... // program code 
}
&sup1; 1-5:若函數或過程中的參數較長,則要進行適當的劃分。
示例:
n7stat_str_compare((BYTE *) & stat_object,
                   (BYTE *) & (act_task_table[taskno].stat_object),
                   sizeof (_STAT_OBJECT));

n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER
                                      + index, stat_object );
&sup1; 1-6:不允許把多個短語句寫在一行中,即一行只寫一條語句。
示例:如下例子不符合規范。
rect.length = 0;  rect.width = 0;

應如下書寫
rect.length = 0;
rect.width  = 0;
&sup1; 1-7:if、for、do、while、case、switch、default等語句自占一行,且if、for、do、while等語句的執行語句部分無論多少都要加括號{}。 
示例:如下例子不符合規范。
if (pUserCR == NULL) return;

應如下書寫:
if (pUserCR == NULL)
{
    return;
}
&sup1; 1-8:對齊只使用空格鍵,不使用TAB鍵。
說明:以免用不同的編輯器閱讀程序時,因TAB鍵所設置的空格數目不同而造成程序布局不整齊,不要使用BC作為編輯器合版本,因為BC會自動將8個空格變為一個TAB鍵,因此使用BC合入的版本大多會將縮進變亂。
&sup1; 1-9:函數或過程的開始、結構的定義及循環、判斷等語句中的代碼都要采用縮進風格,case語句下的情況處理語句也要遵從語句縮進要求。
&sup1; 1-10:程序塊的分界符(如C/C++語言的大括號‘{’和‘}’)應各獨占一行并且位于同一列,同時與引用它們的語句左對齊。在函數體的開始、類的定義、結構的定義、枚舉的定義以及if、for、do、while、switch、case語句中的程序都要采用如上的縮進方式。
示例:如下例子不符合規范。
for (...) {
    ... // program code
}

if (...) 
    {
    ... // program code
    }

void example_fun( void )
    {
    ... // program code
    }

應如下書寫。
for (...) 
{
    ... // program code
}

if (...) 
{
    ... // program code
}

void example_fun( void )
{
    ... // program code
}
&sup1; 1-11:在兩個以上的關鍵字、變量、常量進行對等操作時,它們之間的操作符之前、之后或者前后要加空格;進行非對等操作時,如果是關系密切的立即操作符(如->),后不應加空格。
說明:采用這種松散方式編寫代碼的目的是使代碼更加清晰。
由于留空格所產生的清晰性是相對的,所以,在已經非常清晰的語句中沒有必要再留空格,如果語句已足夠清晰則括號內側(即左括號后面和右括號前面)不需要加空格,多重括號間不必加空格,因為在C/C++語言中括號已經是最清晰的標志了。
在長語句中,如果需要加的空格非常多,那么應該保持整體清晰,而在局部不加空格。給操作符留空格時不要連續留兩個以上空格。

示例:
(1) 逗號、分號只在后面加空格。
int a, b, c; 

(2)比較操作符, 賦值操作符"="、 "+=",算術操作符"+"、"%",邏輯操作符"&&"、"&",位域操作符"<<"、"^"等雙目操作符的前后加空格。
if (current_time >= MAX_TIME_VALUE) 
a = b + c;
a *= 2;
a = b ^ 2;

(3)"!"、"~"、"++"、"--"、"&"(地址運算符)等單目操作符前后不加空格。
*p = 'a';        // 內容操作"*"與內容之間
flag = !isEmpty; // 非操作"!"與內容之間
p = &mem;        // 地址操作"&" 與內容之間
i++;             // "++","--"與內容之間

(4)"->"、"."前后不加空格。
p->id = pid;     // "->"指針前后不加空格

(5) if、for、while、switch等與后面的括號間應加空格,使if等關鍵字更為突出、明顯。
if (a >= b && c > d)
&frac12; 1-1:一行程序以小于80字符為宜,不要寫得過長。
 
2 注釋
&sup1; 2-1:一般情況下,源程序有效注釋量必須在20%以上。
說明:注釋的原則是有助于對程序的閱讀理解,在該加的地方都加了,注釋不宜太多也不能太少,注釋語言必須準確、易懂、簡潔。
&sup1; 2-2:說明性文件(如頭文件.h文件、.inc文件、.def文件、編譯說明文件.cfg等)頭部應進行注釋,注釋必須列出:版權說明、版本號、生成日期、作者、內容、功能、與其它文件的關系、修改日志等,頭文件的注釋中還應有函數功能簡要說明。
示例:下面這段頭文件的頭注釋比較標準,當然,并不局限于此格式,但上述信息建議要包含在內。
/*************************************************
  Copyright (C), 1988-1999, Huawei Tech. Co., Ltd.
  File name:      // 文件名
  Author:       Version:        Date: // 作者、版本及完成日期
  Description:    // 用于詳細說明此程序文件完成的主要功能,與其他模塊
                  // 或函數的接口,輸出值、取值范圍、含義及參數間的控
                  // 制、順序、獨立或依賴等關系
  Others:         // 其它內容的說明
  Function List:  // 主要函數列表,每條記錄應包括函數名及功能簡要說明
    1. ....
  History:        // 修改歷史記錄列表,每條修改記錄應包括修改日期、修改
                  // 者及修改內容簡述  
    1. Date:
       Author:
       Modification:
    2. ...
*************************************************/
&sup1; 2-3:源文件頭部應進行注釋,列出:版權說明、版本號、生成日期、作者、模塊目的/功能、主要函數及其功能、修改日志等。
示例:下面這段源文件的頭注釋比較標準,當然,并不局限于此格式,但上述信息建議要包含在內。
/************************************************************

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久66热偷产精品| 欧美私人免费视频| 日本久久电影网| 久久亚洲免费视频| 亚洲一区二区三区视频在线| 国产高清不卡二三区| 欧美日韩国产综合视频在线观看 | 欧美丝袜自拍制服另类| 精品福利一区二区三区| 亚洲国产成人91porn| 99国产精品久久久久久久久久 | 精品视频123区在线观看| 久久久精品影视| 日韩制服丝袜av| 日本道在线观看一区二区| 国产日产欧美一区二区视频| 麻豆成人在线观看| 欧美日本一区二区| 亚洲一区欧美一区| 色哟哟精品一区| 中文字幕在线观看一区二区| 国产成人精品亚洲午夜麻豆| 精品成人免费观看| 久久精品国产一区二区三| 欧美精品免费视频| 亚洲成a人在线观看| 欧美色爱综合网| 亚洲一区视频在线| 欧美日韩视频第一区| 亚洲综合免费观看高清完整版在线 | 成人免费小视频| 成人小视频在线| 国产亚洲欧美日韩日本| 国产成人久久精品77777最新版本| 欧美精品一区二区精品网| 韩国视频一区二区| 26uuu国产电影一区二区| 国产乱码精品一区二区三区av| 日韩精品一区二区在线观看| 国内国产精品久久| 国产亲近乱来精品视频| 成a人片亚洲日本久久| 中文字幕一区日韩精品欧美| 91蝌蚪国产九色| 亚洲一区二区三区四区不卡| 欧美区在线观看| 六月丁香婷婷久久| 日本一区免费视频| 97精品国产露脸对白| 亚洲午夜一二三区视频| 欧美一级久久久| 国内精品伊人久久久久av影院| 国产日韩成人精品| 色综合天天做天天爱| 亚洲成av人片www| 欧美成人精精品一区二区频| 国产99久久久精品| 亚洲一二三区视频在线观看| 日韩欧美亚洲一区二区| 成人激情免费视频| 亚洲成人免费影院| www成人在线观看| 日本乱码高清不卡字幕| 免费三级欧美电影| 亚洲欧洲性图库| 欧美一区二区在线免费观看| 国产乱码精品1区2区3区| 亚洲欧美视频在线观看| 日韩一区二区三区电影在线观看| 国产福利一区二区三区视频| 一区二区三区中文字幕精品精品| 日韩一区二区三区视频| 风间由美一区二区av101| 无码av中文一区二区三区桃花岛| 久久午夜色播影院免费高清| 在线免费一区三区| 国产成人亚洲综合色影视| 亚洲成人动漫在线免费观看| 欧美国产精品一区| 欧美一区二区三区免费视频| 91视频国产资源| 国产一区在线视频| 日韩福利电影在线观看| 亚洲天堂免费在线观看视频| 26uuu久久综合| 欧美日韩精品一区二区在线播放 | 亚洲3atv精品一区二区三区| 欧美极品另类videosde| 日韩午夜激情视频| 欧美亚洲动漫另类| 成人av网址在线观看| 久久www免费人成看片高清| 一区二区国产视频| 国产精品无码永久免费888| 日韩欧美国产小视频| 欧美久久一区二区| 一本一本大道香蕉久在线精品| 国产一区二区三区四| 日本一不卡视频| 亚洲福利一区二区三区| 亚洲美女屁股眼交| 国产精品国产三级国产aⅴ中文 | 欧美另类videos死尸| 91视频91自| 成人午夜免费电影| 国产河南妇女毛片精品久久久| 久久精品国产一区二区三| 日本亚洲欧美天堂免费| 亚洲成人福利片| 亚洲国产综合色| 一区2区3区在线看| 亚洲国产你懂的| 亚洲大片免费看| 视频一区二区不卡| 日韩精品每日更新| 欧美a级一区二区| 久久国产视频网| 久久99精品久久久| 黄色成人免费在线| 国产精品一区专区| 福利电影一区二区三区| 高潮精品一区videoshd| caoporn国产精品| 99精品黄色片免费大全| 91福利在线免费观看| 色94色欧美sute亚洲线路一久| 91麻豆产精品久久久久久| 欧美在线一二三| 91精品欧美福利在线观看| 日韩精品一区二区三区中文不卡| 久久先锋资源网| 亚洲日本在线看| 日韩在线一二三区| 国产中文字幕一区| 91在线免费看| 91麻豆精品国产| 久久久国产精品午夜一区ai换脸| 国产精品久久久久影院亚瑟| 亚洲欧美日韩一区| 日本欧美一区二区在线观看| 美女看a上一区| 丁香一区二区三区| 欧美怡红院视频| 久久精品人人爽人人爽| 亚洲美女视频一区| 久久精品久久综合| 91麻豆精品在线观看| 欧美一区二区三区在线看| 国产校园另类小说区| 亚洲国产你懂的| 国产传媒一区在线| 欧美日韩国产高清一区| 欧美激情一区二区三区蜜桃视频| 亚洲九九爱视频| 激情久久久久久久久久久久久久久久| 99久久精品一区二区| 日韩欧美在线1卡| 亚洲人成网站精品片在线观看| 日本成人在线不卡视频| www.激情成人| 精品国精品自拍自在线| 亚洲精选免费视频| 国产精品小仙女| 91精品国产综合久久久久久久久久| 久久精品无码一区二区三区| 婷婷中文字幕综合| 99久久伊人久久99| 欧美精品一区二区三区在线| 图片区小说区国产精品视频| 成人av综合在线| 26uuu久久综合| 奇米综合一区二区三区精品视频| 91色porny| 国产精品欧美精品| 黄色资源网久久资源365| 3d动漫精品啪啪1区2区免费| 亚洲精选在线视频| 99久久久久免费精品国产| 久久久不卡网国产精品二区| 男女男精品视频网| 欧美日韩另类一区| 日本午夜精品视频在线观看| 成人aa视频在线观看| 久久婷婷色综合| 久久精品国产一区二区三| 欧美精品色综合| 亚洲成人黄色小说| 欧美三级视频在线| 一级女性全黄久久生活片免费| 成人激情免费电影网址| 日本一区二区三区视频视频| 国产在线国偷精品免费看| 日韩精品一区二区三区视频在线观看 | 久久久精品影视| 久草中文综合在线| 欧美xxxxxxxx| 狠狠色狠狠色综合日日91app| 欧美一区二区不卡视频| 蜜桃视频在线观看一区| 日韩区在线观看|