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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 編程規(guī)范與范例(2).txt

?? 編程規(guī)范,各程編程的規(guī)范說(shuō)明,及要注意的問(wèn)題!
?? TXT
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
[編程技巧]編程規(guī)范與范例(2)
程序匠人 發(fā)表于 2005-8-27 20:15:00       閱讀全文(208) | 回復(fù)(0) | 引用(0) 
編程規(guī)范與范例(2)  
〖文章轉(zhuǎn)載或出處〗≡中國(guó)電子技術(shù)信息網(wǎng)≡ 網(wǎng)址:www.CETINet.com 
編程規(guī)范與范例(2)

目  錄
1 排版 6
2 注釋 11
3 標(biāo)識(shí)符命名 18
4 可讀性 20
5 變量、結(jié)構(gòu) 22
6 函數(shù)、過(guò)程 28
7 可測(cè)性 36
8 程序效率 40
9 質(zhì)量保證 44
10 代碼編輯、編譯、審查 50
11 代碼測(cè)試、維護(hù) 52
12 宏 53

3 標(biāo)識(shí)符命名
¹ 3-1:標(biāo)識(shí)符的命名要清晰、明了,有明確含義,同時(shí)使用完整的單詞或大家基本可以理解的縮寫(xiě),避免使人產(chǎn)生誤解。
說(shuō)明:較短的單詞可通過(guò)去掉“元音”形成縮寫(xiě);較長(zhǎng)的單詞可取單詞的頭幾個(gè)字母形成縮寫(xiě);一些單詞有大家公認(rèn)的縮寫(xiě)。
示例:如下單詞的縮寫(xiě)能夠被大家基本認(rèn)可。
temp 可縮寫(xiě)為  tmp  ;
flag 可縮寫(xiě)為  flg  ;
statistic 可縮寫(xiě)為  stat ;
increment 可縮寫(xiě)為  inc  ;
message 可縮寫(xiě)為  msg  ;
¹ 3-2:命名中若使用特殊約定或縮寫(xiě),則要有注釋說(shuō)明。
說(shuō)明:應(yīng)該在源文件的開(kāi)始之處,對(duì)文件中所使用的縮寫(xiě)或約定,特別是特殊的縮寫(xiě),進(jìn)行必要的注釋說(shuō)明。
¹ 3-3:自己特有的命名風(fēng)格,要自始至終保持一致,不可來(lái)回變化。
說(shuō)明:個(gè)人的命名風(fēng)格,在符合所在項(xiàng)目組或產(chǎn)品組的命名規(guī)則的前提下,才可使用。(即命名規(guī)則中沒(méi)有規(guī)定到的地方才可有個(gè)人命名風(fēng)格)。
¹ 3-4:對(duì)于變量命名,禁止取單個(gè)字符(如i、j、k...),建議除了要有具體含義外,還能表明其變量類型、數(shù)據(jù)類型等,但i、j、k作局部循環(huán)變量是允許的。
說(shuō)明:變量,尤其是局部變量,如果用單個(gè)字符表示,很容易敲錯(cuò)(如i寫(xiě)成j),而編譯時(shí)又檢查不出來(lái),有可能為了這個(gè)小小的錯(cuò)誤而花費(fèi)大量的查錯(cuò)時(shí)間。
示例:下面所示的局部變量名的定義方法可以借鑒。
int liv_Width
其變量名解釋如下:
l      局部變量(Local)  (其它:g    全局變量(Global)...)
i      數(shù)據(jù)類型(Interger)
v      變量(Variable)   (其它:c    常量(Const)...)
Width  變量含義
這樣可以防止局部變量與全局變量重名。
¹ 3-5:命名規(guī)范必須與所使用的系統(tǒng)風(fēng)格保持一致,并在同一項(xiàng)目中統(tǒng)一,比如采用UNIX的全小寫(xiě)加下劃線的風(fēng)格或大小寫(xiě)混排的方式,不要使用大小寫(xiě)與下劃線混排的方式,用作特殊標(biāo)識(shí)如標(biāo)識(shí)成員變量或全局變量的m_和g_,其后加上大小寫(xiě)混排的方式是允許的。
示例: Add_User不允許,add_user、AddUser、m_AddUser允許。 
½ 3-1:除非必要,不要用數(shù)字或較奇怪的字符來(lái)定義標(biāo)識(shí)符。
示例:如下命名,使人產(chǎn)生疑惑。
#define _EXAMPLE_0_TEST_
#define _EXAMPLE_1_TEST_
void set_sls00( BYTE sls );

應(yīng)改為有意義的單詞命名
#define _EXAMPLE_UNIT_TEST_
#define _EXAMPLE_ASSERT_TEST_
void set_udt_msg_sls( BYTE sls );
½ 3-2:在同一軟件產(chǎn)品內(nèi),應(yīng)規(guī)劃好接口部分標(biāo)識(shí)符(變量、結(jié)構(gòu)、函數(shù)及常量)的命名,防止編譯、鏈接時(shí)產(chǎn)生沖突。
說(shuō)明:對(duì)接口部分的標(biāo)識(shí)符應(yīng)該有更嚴(yán)格限制,防止沖突。如可規(guī)定接口部分的變量與常量之前加上“模塊”標(biāo)識(shí)等。
½ 3-3:用正確的反義詞組命名具有互斥意義的變量或相反動(dòng)作的函數(shù)等。
說(shuō)明:下面是一些在軟件中常用的反義詞組。
add / remove       begin / end        create / destroy 
insert / delete    first / last       get / release
increment / decrement                 put / get
add / delete       lock / unlock      open / close
min / max          old / new          start / stop
next / previous    source / target    show / hide
send / receive     source / destination
cut / paste        up / down
示例:
int  min_sum;
int  max_sum;
int  add_user( BYTE *user_name );
int  delete_user( BYTE *user_name );
½ 3-4:除了編譯開(kāi)關(guān)/頭文件等特殊應(yīng)用,應(yīng)避免使用_EXAMPLE_TEST_之類以下劃線開(kāi)始和結(jié)尾的定義。
  
4 可讀性
¹ 4-1:注意運(yùn)算符的優(yōu)先級(jí),并用括號(hào)明確表達(dá)式的操作順序,避免使用默認(rèn)優(yōu)先級(jí)。
說(shuō)明:防止閱讀程序時(shí)產(chǎn)生誤解,防止因默認(rèn)的優(yōu)先級(jí)與設(shè)計(jì)思想不符而導(dǎo)致程序出錯(cuò)。
示例:下列語(yǔ)句中的表達(dá)式
word = (high << 8) | low     (1)
if ((a | b) && (a & c))      (2)
if ((a | b) < (c & d))       (3)
如果書(shū)寫(xiě)為
high << 8 | low
a | b && a & c
a | b < c & d
由于
high << 8 | low = ( high << 8) | low,
a | b && a & c = (a | b) && (a & c),
(1)(2)不會(huì)出錯(cuò),但語(yǔ)句不易理解;
a | b < c & d = a | (b < c) & d,(3)造成了判斷條件出錯(cuò)。
&sup1; 4-2:避免使用不易理解的數(shù)字,用有意義的標(biāo)識(shí)來(lái)替代。涉及物理狀態(tài)或者含有物理意義的常量,不應(yīng)直接使用數(shù)字,必須用有意義的枚舉或宏來(lái)代替。
示例:如下的程序可讀性差。
if (Trunk[index].trunk_state == 0)
{
    Trunk[index].trunk_state = 1;
    ...  // program code
}

應(yīng)改為如下形式。
#define TRUNK_IDLE 0
#define TRUNK_BUSY 1

if (Trunk[index].trunk_state == TRUNK_IDLE)
{
    Trunk[index].trunk_state = TRUNK_BUSY;
    ...  // program code
}
&frac12; 4-1:源程序中關(guān)系較為緊密的代碼應(yīng)盡可能相鄰。
說(shuō)明:便于程序閱讀和查找。
示例:以下代碼布局不太合理。
rect.length = 10;
char_poi = str;
rect.width = 5;

若按如下形式書(shū)寫(xiě),可能更清晰一些。
rect.length = 10;
rect.width = 5; // 矩形的長(zhǎng)與寬關(guān)系較密切,放在一起。
char_poi = str;
&frac12; 4-2:不要使用難懂的技巧性很高的語(yǔ)句,除非很有必要時(shí)。
說(shuō)明:高技巧語(yǔ)句不等于高效率的程序,實(shí)際上程序的效率關(guān)鍵在于算法。
示例:如下表達(dá)式,考慮不周就可能出問(wèn)題,也較難理解。
* stat_poi ++ += 1;

* ++ stat_poi += 1;

應(yīng)分別改為如下。
*stat_poi += 1;
stat_poi++;     // 此二語(yǔ)句功能相當(dāng)于“ * stat_poi ++ += 1; ”

++ stat_poi;
*stat_poi += 1; // 此二語(yǔ)句功能相當(dāng)于“ * ++ stat_poi += 1; ”
5 變量、結(jié)構(gòu)
&sup1; 5-1:去掉沒(méi)必要的公共變量。
說(shuō)明:公共變量是增大模塊間耦合的原因之一,故應(yīng)減少?zèng)]必要的公共變量以降低模塊間的耦合度。
&sup1; 5-2:仔細(xì)定義并明確公共變量的含義、作用、取值范圍及公共變量間的關(guān)系。
說(shuō)明:在對(duì)變量聲明的同時(shí),應(yīng)對(duì)其含義、作用及取值范圍進(jìn)行注釋說(shuō)明,同時(shí)若有必要還應(yīng)說(shuō)明與其它變量的關(guān)系。
&sup1; 5-3:明確公共變量與操作此公共變量的函數(shù)或過(guò)程的關(guān)系,如訪問(wèn)、修改及創(chuàng)建等。
說(shuō)明:明確過(guò)程操作變量的關(guān)系后,將有利于程序的進(jìn)一步優(yōu)化、單元測(cè)試、系統(tǒng)聯(lián)調(diào)以及代碼維護(hù)等。這種關(guān)系的說(shuō)明可在注釋或文檔中描述。
示例:在源文件中,可按如下注釋形式說(shuō)明。
RELATION    System_Init    Input_Rec    Print_Rec   Stat_Score
Student     Create         Modify       Access      Access
Score       Create         Modify       Access      Access, Modify

注:RELATION為操作關(guān)系;System_Init、Input_Rec、Print_Rec、Stat_Score為四個(gè)不同的函數(shù);Student、Score為兩個(gè)全局變量;Create表示創(chuàng)建,Modify表示修改,Access表示訪問(wèn)。
其中,函數(shù)Input_Rec、Stat_Score都可修改變量Score,故此變量將引起函數(shù)間較大的耦合,并可能增加代碼測(cè)試、維護(hù)的難度。
&sup1; 5-4:當(dāng)向公共變量傳遞數(shù)據(jù)時(shí),要十分小心,防止賦與不合理的值或越界等現(xiàn)象發(fā)生。
說(shuō)明:對(duì)公共變量賦值時(shí),若有必要應(yīng)進(jìn)行合法性檢查,以提高代碼的可靠性、穩(wěn)定性。
&sup1; 5-5:防止局部變量與公共變量同名。
說(shuō)明:若使用了較好的命名規(guī)則,那么此問(wèn)題可自動(dòng)消除。
&sup1; 5-6:嚴(yán)禁使用未經(jīng)初始化的變量作為右值。
說(shuō)明:特別是在C/C++中引用未經(jīng)賦值的指針,經(jīng)常會(huì)引起系統(tǒng)崩潰。
&frac12; 5-1:構(gòu)造僅有一個(gè)模塊或函數(shù)可以修改、創(chuàng)建,而其余有關(guān)模塊或函數(shù)只訪問(wèn)的公共變量,防止多個(gè)不同模塊或函數(shù)都可以修改、創(chuàng)建同一公共變量的現(xiàn)象。
說(shuō)明:降低公共變量耦合度。
&frac12; 5-2:使用嚴(yán)格形式定義的、可移植的數(shù)據(jù)類型,盡量不要使用與具體硬件或軟件環(huán)境關(guān)系密切的變量。
說(shuō)明:使用標(biāo)準(zhǔn)的數(shù)據(jù)類型,有利于程序的移植。
示例:如下例子(在DOS下BC3.1環(huán)境中),在移植時(shí)可能產(chǎn)生問(wèn)題。
void main()
{
    register int index; // 寄存器變量

    _AX = 0x4000; // _AX是BC3.1提供的寄存器“偽變量”
    ... // program code
}
&frac12; 5-3:結(jié)構(gòu)的功能要單一,是針對(duì)一種事務(wù)的抽象。
說(shuō)明:設(shè)計(jì)結(jié)構(gòu)時(shí)應(yīng)力爭(zhēng)使結(jié)構(gòu)代表一種現(xiàn)實(shí)事務(wù)的抽象,而不是同時(shí)代表多種。結(jié)構(gòu)中的各元素應(yīng)代表同一事務(wù)的不同側(cè)面,而不應(yīng)把描述沒(méi)有關(guān)系或關(guān)系很弱的不同事務(wù)的元素放到同一結(jié)構(gòu)中。
示例:如下結(jié)構(gòu)不太清晰、合理。

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产精品中文字幕| 免费国产亚洲视频| 精品久久久久久久久久久久久久久| va亚洲va日韩不卡在线观看| 精品中文av资源站在线观看| 另类欧美日韩国产在线| 久久国产乱子精品免费女| 九九九久久久精品| 国产一区视频导航| 成人午夜av电影| 99视频一区二区| 欧美色视频在线观看| 99免费精品在线| 美女被吸乳得到大胸91| 亚洲综合一区二区三区| 亚洲色图在线播放| 一区二区三区在线观看网站| 亚洲高清一区二区三区| 午夜欧美大尺度福利影院在线看| 午夜精品视频一区| 久久电影国产免费久久电影| 国产 欧美在线| 色婷婷狠狠综合| 欧美另类videos死尸| 欧美午夜免费电影| 一区二区三区中文字幕电影| 亚洲精品欧美激情| 午夜影院久久久| 国产乱人伦精品一区二区在线观看| 粉嫩av一区二区三区在线播放 | 国产精品嫩草99a| 国产精品久久久久久户外露出| 亚洲欧美一区二区三区孕妇| 日韩国产高清影视| 北条麻妃一区二区三区| 欧美猛男男办公室激情| 久久婷婷久久一区二区三区| 一区二区三区在线免费播放| 精品在线观看免费| 色屁屁一区二区| 在线观看一区不卡| av成人免费在线| 在线不卡中文字幕| 国产精品久线观看视频| 免费观看30秒视频久久| 一本到不卡免费一区二区| 日韩欧美一级在线播放| 一区二区三区**美女毛片| 精品午夜一区二区三区在线观看| 日本高清不卡视频| 国产亚洲精品资源在线26u| 亚洲高清视频在线| 成人教育av在线| 久久综合久色欧美综合狠狠| 亚洲国产精品自拍| 成人综合婷婷国产精品久久免费| 日韩一区二区免费电影| 一区二区三区中文字幕精品精品| 丁香另类激情小说| 精品久久久久久久久久久久久久久久久| 亚洲专区一二三| 91在线码无精品| 国产精品色在线| 国内不卡的二区三区中文字幕| 日韩一区二区三区视频在线观看| www国产精品av| 日本欧美久久久久免费播放网| 色久优优欧美色久优优| 欧美国产欧美综合| 国产精品一区二区在线播放| 精品日韩欧美在线| 久久国产精品色| 精品美女一区二区| 免费观看91视频大全| 欧美一区二区三区四区高清| 亚洲成人三级小说| 日韩一区二区免费在线电影| 奇米精品一区二区三区在线观看| 欧美日韩精品久久久| 亚洲va在线va天堂| 欧美嫩在线观看| 性久久久久久久久久久久| 欧美日韩小视频| 午夜电影网一区| 日韩欧美国产不卡| 激情综合色综合久久综合| 欧美精品一区二区三区蜜桃视频 | 666欧美在线视频| 丝袜亚洲另类欧美| 日韩你懂的在线播放| 麻豆国产精品视频| 久久久久国产精品厨房| 成人激情综合网站| 亚洲一区二区在线观看视频 | 久久青草欧美一区二区三区| 丁香婷婷综合激情五月色| 久久久www免费人成精品| 国产成a人亚洲精品| 1000精品久久久久久久久| 色婷婷精品久久二区二区蜜臀av| 亚洲国产精品尤物yw在线观看| 欧美一区二区三区视频免费| 国产精品99久久久久久似苏梦涵| 国产精品美女久久久久aⅴ | 久久综合99re88久久爱| 国产成a人亚洲精品| 亚洲免费在线观看视频| 日韩精品最新网址| 国产不卡视频在线播放| 一区二区三区电影在线播| 91精品国产一区二区三区| 国产高清在线精品| 亚洲成人动漫一区| 国产亚洲欧美中文| 欧美日韩视频在线观看一区二区三区| 麻豆一区二区三区| 国产精品激情偷乱一区二区∴| 欧美体内she精视频| 国产精品一区久久久久| 亚洲一区免费在线观看| 精品成人佐山爱一区二区| 色婷婷综合五月| 国内精品国产成人国产三级粉色| 亚洲一区二区三区美女| 久久精品一区二区| 91精品免费观看| 欧美在线三级电影| 丰满放荡岳乱妇91ww| 久久99国产精品麻豆| 亚洲丰满少妇videoshd| 国产精品视频看| 久久网这里都是精品| 91精品国产丝袜白色高跟鞋| 一本大道久久a久久精二百| 国产精品一区二区视频| 久久99热99| 日韩激情视频在线观看| 亚洲欧美一区二区三区极速播放 | 欧美xxxx老人做受| 精品视频一区三区九区| 99视频精品在线| 国产成人在线视频播放| 蜜臀久久久99精品久久久久久| 一区二区三区91| 亚洲激情欧美激情| 国产精品嫩草99a| 国产农村妇女毛片精品久久麻豆 | 久久综合色天天久久综合图片| 欧洲亚洲国产日韩| 在线观看日韩电影| 不卡大黄网站免费看| 福利一区在线观看| 国产精品一级片在线观看| 精品午夜一区二区三区在线观看| 蜜臀a∨国产成人精品| 欧美aaaaa成人免费观看视频| 日韩精彩视频在线观看| 亚洲天堂av一区| 亚洲精品日日夜夜| 亚洲精品欧美激情| 亚洲一区二区欧美激情| 亚洲一区自拍偷拍| 亚洲国产精品麻豆| 天堂午夜影视日韩欧美一区二区| 亚洲国产欧美日韩另类综合| 肉色丝袜一区二区| 日韩 欧美一区二区三区| 久久99精品国产| 国产寡妇亲子伦一区二区| 懂色av中文字幕一区二区三区| 国产自产v一区二区三区c| 国产在线精品一区在线观看麻豆| 国产在线精品一区二区夜色| 国产精品一品视频| 91视频观看视频| 北岛玲一区二区三区四区| 不卡视频在线看| 欧洲亚洲国产日韩| 2023国产一二三区日本精品2022| 国产三级三级三级精品8ⅰ区| 国产精品久久免费看| 婷婷亚洲久悠悠色悠在线播放| 老汉av免费一区二区三区| 成人黄色在线网站| 欧美日韩高清一区二区不卡| 国产日产欧美一区二区三区| 亚洲欧美日韩国产成人精品影院| 偷窥国产亚洲免费视频| 国产v综合v亚洲欧| 欧美日韩成人一区二区| 久久久久国产成人精品亚洲午夜| 亚洲精品综合在线| 美美哒免费高清在线观看视频一区二区 | 日韩专区欧美专区| 国产成人午夜精品5599| 欧美日韩一本到| 国产亚洲一区二区在线观看| 亚洲一二三四久久| 成人精品视频.| 日韩精品一区二区三区在线|