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

正文內(nèi)容

華為軟件編程規(guī)范和范例(編輯修改稿)

2025-05-09 12:18 本頁面
 

【文章內(nèi)容簡介】 b amp。amp。 a amp。 ca | b c amp。 d由于high 8 | low 等價于 ( high 8) | lowa | b amp。amp。 a amp。 c 等價于 (a | b) amp。amp。 (a amp。 c)故(1)(2)不會出錯, 但語句不易理解, 而a | b c amp。 d 等價于 a | (b c) amp。 d故(3)造成了判斷條件出錯。 避免使用不易理解的數(shù)字, 用有意義的標識來替代。涉及物理狀態(tài)或者含有物理意義的常量, 不應直接使用數(shù)字, 必須用有意義的枚舉或宏來代替。示例: 如下的程序可讀性差。if (Trunk[index].trunk_state == 0){ Trunk[index].trunk_state = 1。 ... // program code}應改為如下形式。define TRUNK_IDLE 0define TRUNK_BUSY 1if (Trunk[index].trunk_state == TRUNK_IDLE){ Trunk[index].trunk_state = TRUNK_BUSY。 ... // program code}5. 變量、結構 構造僅有一個模塊或函數(shù)可以修改、創(chuàng)建, 而其余有關模塊或函數(shù)只訪問的公共變量, 防止多個不同模塊或函數(shù)都可以修改、創(chuàng)建同一公共變量的現(xiàn)象。說明: 降低公共變量耦合度。 使用嚴格形式定義的、可移植的數(shù)據(jù)類型, 盡量不要使用與具體硬件或軟件環(huán)境關系密切的變量。說明: 使用標準的數(shù)據(jù)類型, 有利于程序的移植。示例: 如下例子(), 在移植時可能產(chǎn)生問題。void main(){ register int index。 // 寄存器變量 _AX = 0x4000。 // “偽變量” ... // program code} 結構的功能要單一, 是針對一種事務的抽象。說明: 設計結構時應力爭使結構代表一種現(xiàn)實事務的抽象, 而不是同時代表多種。結構中的各元素應代表同一事務的不同側面, 而不應把描述沒有關系或關系很弱的不同事務的元素放到同一結構中。示例: 如下結構不太清晰、合理。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 charteacher_name[8]。 /* the student teacher39。s name */ unisgned charteacher_sex。 /* his teacher sex */} STUDENT。若改為如下, 可能更合理些。typedef struct TEACHER_STRU{ unsigned char name[8]。 /* teacher name */ unisgned char sex。 /* teacher sex, as follows */ /* 0 FEMALE。 1 MALE */} TEACHER。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 int teacher_ind。 /* his teacher index */} STUDENT。 不要設計面面俱到、非常靈活的數(shù)據(jù)結構。說明: 面面俱到、靈活的數(shù)據(jù)結構反而容易引起誤解和操作困難。 不同結構間的關系不要過于復雜。說明: 若兩個結構間關系較復雜、密切, 那么應合為一個結構。示例: 如下兩個結構的構造不合理。typedef struct PERSON_ONE_STRU{ unsigned char name[8]。 unsigned char addr[40]。 unsigned char sex。 unsigned char city[15]。} PERSON_ONE。typedef struct PERSON_TWO_STRU{ unsigned char name[8]。 unsigned char age。 unsigned char tel。} PERSON_TWO。由于兩個結構都是描述同一事物的, 那么不如合成一個結構。typedef struct PERSON_STRU{ unsigned char name[8]。 unsigned char age。 unsigned char sex。 unsigned char addr[40]。 unsigned char city[15]。 unsigned char tel。} PERSON。 結構中元素的個數(shù)應適中。若結構中元素個數(shù)過多可考慮依據(jù)某種原則把元素組成不同的子結構, 以減少原結構中元素的個數(shù)。說明: 增加結構的可理解性、可操作性和可維護性。示例: 假如認為如上的_PERSON結構元素過多, 那么可如下對之劃分。typedef struct PERSON_BASE_INFO_STRU{ unsigned char name[8]。 unsigned char age。 unsigned char sex。} PERSON_BASE_INFO。typedef struct PERSON_ADDRESS_STRU{ unsigned char addr[40]。 unsigned char city[15]。 unsigned char tel。} PERSON_ADDRESS。typedef struct PERSON_STRU{ PERSON_BASE_INFO person_base。 PERSON_ADDRESS person_addr。} PERSON。 仔細設計結構中元素的布局與排列順序, 使結構容易理解、節(jié)省占用空間, 并減少引起誤用現(xiàn)象。說明: 合理排列結構中元素順序, 可節(jié)省空間并增加可理解性。示例: 如下結構中的位域排列, 將占較大空間, 可讀性也稍差。typedef struct EXAMPLE_STRU{ unsigned int valid: 1。 PERSON person。 unsigned int set_flg: 1。} EXAMPLE。若改成如下形式, 不僅可節(jié)省1字節(jié)空間, 可讀性也變好了。typedef struct EXAMPLE_STRU{ unsigned int valid: 1。 unsigned int set_flg: 1。 PERSON person 。} EXAMPLE。 結構的設計要盡量考慮向前兼容和以后的版本升級, 并為某些未來可能的應用保留余地(如預留一些空間等)。說明: 軟件向前兼容的特性, 是軟件產(chǎn)品是否成功的重要標志之一。如果要想使產(chǎn)品具有較好的前向兼容, 那么在產(chǎn)品設計之初就應為以后版本升級保留一定余地, 并且在產(chǎn)品升級時必須考慮前一版本的各種特性。 留心具體語言及編譯器處理不同數(shù)據(jù)類型的原則及有關細節(jié)。說明: 如在C語言中, static局部變量將在內(nèi)存“數(shù)據(jù)區(qū)”中生成, 而非static局部變量將在“堆棧”中生成。這些細節(jié)對程序質量的保證非常重要。 編程時, 要注意數(shù)據(jù)類型的強制轉換。說明: 當進行數(shù)據(jù)類型強制轉換時, 其數(shù)據(jù)的意義、轉換后的取值等都有可能發(fā)生變化, 而這些細節(jié)若考慮不周, 就很有可能留下隱患。 對編譯系統(tǒng)默認的數(shù)據(jù)類型轉換, 也要有充分的認識。示例: 如下賦值, 多數(shù)編譯器不產(chǎn)生告警, 但值的含義還是稍有變化。char chr。unsigned short int exam。chr = 1。exam = chr。 // 編譯器不產(chǎn)生告警, 此時exam為0xFFFF 盡量減少沒有必要的數(shù)據(jù)類型默認轉換與強制轉換。 合理地設計數(shù)據(jù)并使用自定義數(shù)據(jù)類型, 避免數(shù)據(jù)間進行不必要的類型轉換。/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 對自定義數(shù)據(jù)類型進行恰當命名, 使它成為自描述性的, 以提高代碼可讀性。注意其命名方式在同一產(chǎn)品中的統(tǒng)一。說明: 使用自定義類型, 可以彌補編程語言提供類型少、信息量不足的缺點, 并能使程序清晰、簡潔。示例: 可參考如下方式聲明自定義數(shù)據(jù)類型。下面的聲明可使數(shù)據(jù)類型的使用簡潔、明了。typedef unsigned char BYTE。typedef unsigned short WORD。typedef unsigned int DWORD。下面的聲明可使數(shù)據(jù)類型具有更豐富的含義。typedef float DISTANCE。typedef float SCORE。 當聲明用于分布式環(huán)境或不同CPU 間通信環(huán)境的數(shù)據(jù)結構時, 必須考慮機器的字節(jié)順序、使用的位域及字節(jié)對齊等問題。說明: 比如Intel CPU與68360 CPU, 在處理位域及整數(shù)時, 其在內(nèi)存存放的“順序”正好相反。示例: 假如有如下短整數(shù)及結構。unsigned short int exam。typedef struct EXAM_BIT_STRU{ /* Intel 68360 */ unsigned int A1: 1。 /* bit 0 7 */ unsigned int A2: 1。 /* bit 1 6 */ unsigned int A3: 1。 /* bit 2 5 */ ...} EXAM_BIT。如下是Intel CPU生成短整數(shù)及位域的方式。 去掉沒必要的公共變量。說明: 公共變量是增大模塊間耦合的原因之一, 故應減少沒必要的公共變量以降低模塊間的耦合度。 仔細定義并明確公共變量的含義、作用、取值范圍及公共變量間的關系。說明: 在對變量聲明的同時, 應對其含義、作用及取值范圍進行注釋說明, 同時若有必要還應說明與其它變量的關系。 明確公共變量與操作此公共變量的函數(shù)或過程的關系, 如訪問、修改及創(chuàng)建等。說明: 明確過程操作變量的關系后, 將有利于程序的進一步優(yōu)化、單元測試、系統(tǒng)聯(lián)調(diào)以及代碼維護等。這種關系的說明可在注釋或文檔中描述。示例: 在源文件中, 可按如下注釋形式說明。RELATION System_Init Input_Rec Print_Rec Stat_ScoreSt
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1