freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

華為代碼規(guī)范文檔(編輯修改稿)

2025-05-09 12:17 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ProcessCFW_B()。 // now jump into case CMD_A}case CMD_A: ProcessA()。 break。case CMD_B: ProcessB()。 break。case CMD_C: ProcessC()。 break。case CMD_D: ProcessD()。 break。... 其他 避免在一行代碼或表達(dá)式的中間插入注釋。說(shuō)明:除非必要,不應(yīng)在代碼或表達(dá)中間插入注釋?zhuān)駝t容易使代碼可理解性變差。 通過(guò)對(duì)函數(shù)或過(guò)程、變量、結(jié)構(gòu)等正確的命名以及合理地組織代碼的結(jié)構(gòu),使代碼成為自注釋的。說(shuō)明:清晰準(zhǔn)確的函數(shù)、變量等的命名,可增加代碼可讀性,并減少不必要的注釋。 在代碼的功能、意圖層次上進(jìn)行注釋?zhuān)峁┯杏谩㈩~外的信息。說(shuō)明:注釋的目的是解釋代碼的目的、功能和采用的方法,提供代碼以外的信息,幫助讀者理解代碼,防止沒(méi)必要的重復(fù)注釋信息。示例:如下注釋意義不大。/* if receive_flag is TRUE */if (receive_flag)而如下的注釋則給出了額外有用的信息。 /* if mtp receive a message from links */if (receive_flag) 在程序塊的結(jié)束行右方加注釋標(biāo)記,以表明某程序塊的結(jié)束。說(shuō)明:當(dāng)代碼段較長(zhǎng),特別是多重嵌套時(shí),這樣做可以使代碼更清晰,更便于閱讀。示例:參見(jiàn)如下例子。if (...){ // program code while (index MAX_INDEX) { // program code } /* end of while (index MAX_INDEX) */ // 指明該條while語(yǔ)句結(jié)束} /* end of if (...)*/ // 指明是哪條if語(yǔ)句結(jié)束 注釋格式盡量統(tǒng)一,建議使用“/* …… */”。 注釋?xiě)?yīng)考慮程序易讀及外觀排版的因素,使用的語(yǔ)言若是中、英兼有的,建議多使用中文,除非能用非常流利準(zhǔn)確的英文表達(dá)。說(shuō)明:注釋語(yǔ)言不統(tǒng)一,影響程序易讀性和外觀排版,出于對(duì)維護(hù)人員的考慮,建議使用中文。4 標(biāo)識(shí)符命名 命名清晰標(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 。 特殊命名需注釋命名中若使用特殊約定或縮寫(xiě),則要有注釋說(shuō)明。說(shuō)明:應(yīng)該在源文件的開(kāi)始之處,對(duì)文件中所使用的縮寫(xiě)或約定,特別是特殊的縮寫(xiě),進(jìn)行必要的注釋說(shuō)明。 命名風(fēng)格保持一致自己特有的命名風(fēng)格,要自始至終保持一致,不可來(lái)回變化。說(shuō)明:個(gè)人的命名風(fēng)格,在符合所在項(xiàng)目組或產(chǎn)品組的命名規(guī)則的前提下,才可使用。(即命名規(guī)則中沒(méi)有規(guī)定到的地方才可有個(gè)人命名風(fēng)格)。 變量命名對(duì)于變量命名,禁止取單個(gè)字符(如i、j、k...),建議除了要有具體含義外,還能表明其變量類(lèi)型、數(shù)據(jù)類(lèi)型等,但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ù)類(lèi)型(Interger) v 變量(Variable) (其它:c 常量(Const)...) Width 變量含義這樣可以防止局部變量與全局變量重名。 命名規(guī)范與系統(tǒng)風(fēng)格一致命名規(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允許。 其他 除非必要,不要用數(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 )。 在同一軟件產(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í)等。 用正確的反義詞組命名具有互斥意義的變量或相反動(dòng)作的函數(shù)等。說(shuō)明:下面是一些在軟件中常用的反義詞組。add / remove begin / end create / destroy insert / delete first / last get / releaseincrement / decrement put / getadd / delete lock / unlock open / closemin / max old / new start / stopnext / previous source / target show / hidesend / receive source / destinationcut / paste up / down示例:int min_sum。int max_sum。int add_user( BYTE *user_name )。int delete_user( BYTE *user_name )。 除了編譯開(kāi)關(guān)/頭文件等特殊應(yīng)用,應(yīng)避免使用_EXAMPLE_TEST_之類(lèi)以下劃線開(kāi)始和結(jié)尾的定義。5 可讀性 運(yùn)算符優(yōu)先級(jí)注意運(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) amp。amp。 (a amp。 c)) (2)if ((a | b) (c amp。 d)) (3)如果書(shū)寫(xiě)為high 8 | lowa | b amp。amp。 a amp。 ca | b c amp。 d由于high 8 | low = ( high 8) | low,a | b amp。amp。 a amp。 c = (a | b) amp。amp。 (a amp。 c),(1)(2)不會(huì)出錯(cuò),但語(yǔ)句不易理解;a | b c amp。 d = a | (b c) amp。 d,(3)造成了判斷條件出錯(cuò)。 避免直接使用數(shù)字作為標(biāo)識(shí)符避免使用不易理解的數(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 0define TRUNK_BUSY 1if (Trunk[index].trunk_state == TRUNK_IDLE){ Trunk[index].trunk_state = TRUNK_BUSY。 ... // program code} 其他 源程序中關(guān)系較為緊密的代碼應(yīng)盡可能相鄰。說(shuō)明:便于程序閱讀和查找。示例:以下代碼布局不太合理。 = 10。char_poi = str。 = 5。若按如下形式書(shū)寫(xiě),可能更清晰一些。 = 10。 = 5。 // 矩形的長(zhǎng)與寬關(guān)系較密切,放在一起。char_poi = str。 不要使用難懂的技巧性很高的語(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。6 變量、結(jié)構(gòu) 公共變量 去掉沒(méi)必要的公共變量。說(shuō)明:公共變量是增大模塊間耦合的原因之一,故應(yīng)減少?zèng)]必要的公共變量以降低模塊間的耦合度。 公共變量說(shuō)明仔細(xì)定義并明確公共變量的含義、作用、取值范圍及公共變量間的關(guān)系。說(shuō)明:在對(duì)變量聲明的同時(shí),應(yīng)對(duì)其含義、作用及取值范圍進(jìn)行注釋說(shuō)明,同時(shí)若有必要還應(yīng)說(shuō)明與其它變量的關(guān)系。 公共變量訪問(wèn)說(shuō)明明確公共變量與操作此公共變量的函數(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_ScoreStudent Create Modify Access AccessScore 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ù)的難度。 公共變量賦值當(dāng)向公共變量傳遞數(shù)據(jù)時(shí),要十分小心,防止賦與不合理的值或越界等現(xiàn)象發(fā)生。說(shuō)明:對(duì)公共變量賦值時(shí),若有必要應(yīng)進(jìn)行合法性檢查,以提高代碼的可靠性、穩(wěn)定性。 防止局部變量與公共變量同名。說(shuō)明:若使用了較好的命名規(guī)則,那么此問(wèn)題可自動(dòng)消除。 嚴(yán)禁使用未經(jīng)初始化的變量作為右值。說(shuō)明:特別是在C/C++中引用未經(jīng)賦值的指針,經(jīng)常會(huì)引起系統(tǒng)崩潰。 其他 防止多個(gè)模塊共用公共變量構(gòu)造僅有一個(gè)模塊或函數(shù)可以修改、創(chuàng)建,而其余有關(guān)模塊或函數(shù)只訪問(wèn)的公共變量,防止多個(gè)不同模塊或函數(shù)都可以修改、創(chuàng)建同一公共變量的現(xiàn)象。說(shuō)明:降低公共變量耦合度。 數(shù)據(jù)類(lèi)型使用嚴(yán)格形式定義的、可移植的數(shù)據(jù)類(lèi)型,盡量不要使用與具體硬件或軟件環(huán)境關(guān)系密切的變量。說(shuō)明:使用標(biāo)準(zhǔn)的數(shù)據(jù)類(lèi)型,有利于程序的移植。示例:如下例子(),在移植時(shí)可能產(chǎn)生問(wèn)題。void main(){ register int index。 // 寄存器變量 _AX = 0x4000。 // “偽變量” ... // program code} 結(jié)構(gòu)結(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)不太清晰、合理。typedef struct STUDENT_STRU{ unsigned char name[8]。 /* student39。s name */ unsigned char age。 /* student39。s age */ unsigned char sex。 /* student39。s sex, as follows */ /* 0 FEMALE。 1 MALE */ unsigned char teacher_name[8]。 /* the student teacher39。s name */ unisgned char teacher_sex。 /* his teacher sex */} STUDENT。若改為如下,可能更合理些。typedef struct TEACHER_STRU{ unsigned char name[8]。 /* teacher name */ unisgned char sex。 /
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1