浙江某軌道交通工程公司軟件編碼規(guī)范(doc 27頁).doc_第1頁
浙江某軌道交通工程公司軟件編碼規(guī)范(doc 27頁).doc_第2頁
浙江某軌道交通工程公司軟件編碼規(guī)范(doc 27頁).doc_第3頁
浙江某軌道交通工程公司軟件編碼規(guī)范(doc 27頁).doc_第4頁
浙江某軌道交通工程公司軟件編碼規(guī)范(doc 27頁).doc_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

浙江浙大網(wǎng)新眾合軌道交通工程有限公司軟件編碼規(guī)范浙江浙大網(wǎng)新眾合軌道交通工程有限公司 系統(tǒng)研發(fā)部 編制審核批準(zhǔn)日期方輝劉湘黔文件編號(hào)ZHGD-XT-002-0版本號(hào)/修改號(hào)A/0本文件版權(quán)屬于本公司所有,未經(jīng)許可,不得復(fù)制引用文檔管理信息保密級(jí)別普通() 機(jī)密( ) 絕密( )保存期限短期( ) 長期() 永久( )文件名稱軟件編碼規(guī)范文件編號(hào)ZHGD-XT-002-0版本號(hào)A/0文檔修改記錄版本日期修改內(nèi)容修改人A/02009-10-10新建文件 方輝目錄1目的12范圍13編碼規(guī)則14編碼風(fēng)格74.1排版規(guī)則74.2命名規(guī)則84.3注釋規(guī)則144.4函數(shù)定義214.5變量間的間隔224.6禁止編碼中常量出現(xiàn)224.7代碼行234.8警告231 目的沒有什么軟件工程方法學(xué)可以保證可靠性代碼,但是,遵循正確的編碼規(guī)則可以顯著的減少代碼中的錯(cuò)誤。鑒于目前實(shí)施高可靠性軟件開發(fā)的現(xiàn)狀,我們制定本規(guī)范的目的是為了幫助軟件開發(fā)人員更加深入地理解編碼規(guī)則,從而輔助大家更好的推動(dòng)軟件編碼規(guī)則在實(shí)際工作中的制定和實(shí)施,為了保證所每個(gè)項(xiàng)目組編寫出的程序都符合相同的規(guī)范,便于理解和維護(hù),便于檢查、減少出錯(cuò)概率,有助于成員間交流,保證一致性、統(tǒng)一性。本文所定義的規(guī)則部分來源于MISRA C-2004,并結(jié)合本部門開發(fā)與工程實(shí)踐經(jīng)驗(yàn)進(jìn)行了選擇。2 范圍該規(guī)范適用于本公司所有基于C語言開發(fā)的安全苛求系統(tǒng)項(xiàng)目。3 編碼規(guī)則在程序設(shè)計(jì)中應(yīng)該遵守以下規(guī)則:1) 過程名不能被重用2) 標(biāo)號(hào)名不能被重用3) 源代碼應(yīng)該使用 /*/ 類型的注釋4) 字符序列 /* 不應(yīng)出現(xiàn)在注釋中5) 文件中可執(zhí)行格式化代碼行超過1500行6) 一個(gè)函數(shù)的行數(shù)應(yīng)該控制在50行以內(nèi),每一行的長度應(yīng)該控制80個(gè)字以內(nèi)7) 不能聲明函數(shù)指針8) else語句不能為空9) 循環(huán)體要用大括號(hào)括起來10) 在非賦值表達(dá)式中不能出現(xiàn)了賦值操作符11) else中的語句要用大括號(hào)括起來12) 不能使用goto語句13) 內(nèi)嵌中不能使用匯編代碼14) 過程參數(shù)不超過12個(gè)15) 參數(shù)不能使用未聲明類型16) 實(shí)參與形參個(gè)數(shù)要匹配17) 函數(shù)不能未被調(diào)用18) case語句不能為空19) 不能使用無限循環(huán)20) 使用+或者-操作符(一行中不能用多個(gè)) 21) 不能使用三重表達(dá)式22) 圈復(fù)雜度不能大于1023) 不能有未使用的函數(shù)參數(shù)24) 函數(shù)的實(shí)參不能是全局變量25) 代碼中有不能有多余變量26) 不能存在UR(變量未賦初值就引用)數(shù)據(jù)流異常27) 不能存在DU(定義后未引用就退出作用域)數(shù)據(jù)流異常(建議)28) 不能存在DD(定 義后未被引用就被再定義)數(shù)據(jù)流異常(建議)29) 不能在函數(shù)中全局變量使用與局部變量作用類似30) 不能存在未被使用的過程參數(shù)31) 函數(shù)不能有多入口32) 過程參數(shù)不能只有類型沒有標(biāo)識(shí)符33) 使用恰當(dāng)?shù)难h(huán)變量類型34) 循環(huán)變量必須是局部的35) 不能在函數(shù)參數(shù)表中使用省略號(hào)36) 不能使用setjmp/longjmp37) 不能使用禁用的過程,函數(shù),文件或名稱38) 不要在重新定義C+關(guān)鍵字39) 數(shù)組使用不要越界40) 在switch語句中不能沒有default 語句41) switch語句中的case語句一定要由break語句來終止42) 不能對(duì)有符號(hào)類型進(jìn)行移位操作43) 移位運(yùn)算不能溢出44) 禁止給無符號(hào)變量賦負(fù)值45) 不使用逗號(hào)操作符46) 禁止對(duì)實(shí)數(shù)類型的變量做相等比較操作47) 不使用不起作用的語句48) 禁止switch語句為空49) switch語句中不能只包含default 50) 過程/函數(shù)的參數(shù)表不能為空51) 返回類型為void的的過程不能出現(xiàn)在表達(dá)式中52) void類型的變量不能作為參數(shù)進(jìn)行傳遞53) 指針不能指向比分配更大的范圍54) 無符號(hào)的位域不能少于個(gè)比特位的空間55) 在頭文件前不能有可執(zhí)行代碼56) 宏中不能使用了多個(gè)#和#57) 宏定義中不能包含有不允許的項(xiàng)58) 指針的指針不能超過兩級(jí)59) 不能使用三字母詞60) 不要使用寬串文字61) 不要使用八進(jìn)制數(shù)62) 不要使用寄存器變量63) 枚舉元素的初始化要完整64) 字符類型要標(biāo)明是有符號(hào)還是無符號(hào)65) 不能對(duì)變量重命名66) 不能在枚舉中重復(fù)使用一個(gè)名字67) 給變量賦的值與其類型要一致68) 實(shí)參和形參類型要一致69) 頭文件名不能使用“”、“”和“*”等字符70) 函數(shù)返回類型要一致71) 函數(shù)和函數(shù)的原型的返回要一致72) 函數(shù)和函數(shù)的原型的形參要一致73) 結(jié)構(gòu)體變量的初始化類型要一致74) 結(jié)構(gòu)體變量初始化的嵌套結(jié)構(gòu)要一致75) 標(biāo)識(shí)符不能超出31字符76) 過程在定義前不能被調(diào)用77) 變量在使用前要被聲明78) 函數(shù)沒有定義原型79) 一個(gè)文件的變量應(yīng)該被聲明為靜態(tài)的80) 數(shù)組的下標(biāo)要是整形81) 不能在非switch結(jié)構(gòu)中使用標(biāo)號(hào)82) 用typedef定義的類型名不能被重新定義83) 不能存在潛在的無限循環(huán)84) 函數(shù)參數(shù)定義的結(jié)構(gòu)和調(diào)用的結(jié)構(gòu)要一致85) 形參要定義86) 外部變量要有真實(shí)的聲明87) 源程序中不能使用非標(biāo)準(zhǔn)字符88) 邏輯上關(guān)聯(lián)的表達(dá)式需要括號(hào)89) 一個(gè)表達(dá)式不能有多個(gè)功能90) 不能使用指針做邏輯比較91) 宏的參數(shù)必需要有括號(hào)92) 不能使用Basic類型的聲明93) 不能使用單行注釋/94) 不能使用不正確的終止字符串95) 不能對(duì)常量值進(jìn)行邏輯非的運(yùn)算96) 主函數(shù)必須為int(void)或者int(int,char*)97) 不能使用嵌套注釋98) 不能對(duì)有符號(hào)類型使用位操作99) switch語句的表達(dá)式不能是邏輯表達(dá)式100) 不能使用abort,exit等函數(shù)101) 枚舉類型的不能越限使用102) 不能使用前綴“”、“”103) 不能在宏中使用“#”、“#” 104) 在同一個(gè)文件中不能有#if沒有#endif105) 數(shù)組不能沒有邊界限定106) 參數(shù)不能與全局變量同名107) 參數(shù)不能與類型或標(biāo)識(shí)符同名108) 不能使用了不允許使用的頭文件109) 在整個(gè)系統(tǒng)中聲明的類型要一致110) 不同的文件中過程名不能被重用111) 在函數(shù)內(nèi)部變量名不能被重用112) 在邏輯表達(dá)式中不能使用賦值操作符113) 賦值操作符與“&”或“|”不能連用114) 參數(shù)定義不能是KR風(fēng)格115) 位操作符不能帶有布爾型的操作數(shù)116) 位操作符不能作用于布爾值117) 結(jié)構(gòu)體中不能使用無名位域118) 不能存在不可實(shí)現(xiàn)的循環(huán)條件119) 函數(shù)原形中的參數(shù)與實(shí)際定義中的形參要一致120) 不能有無效的 #if表達(dá)式121) 函數(shù)類型不能使用Volatile或const122) 不能在宏定義中使用全局變量123) 宏定義中不能有一條注釋124) 在預(yù)處理指示中不能有一條注釋125) 不能在循環(huán)語句中有多個(gè)控制變量126) 不能在宏的內(nèi)部使用關(guān)鍵字“defined”127) 不能在表達(dá)式中使用128) 不能程序預(yù)處理后存在欺騙性字符129) 不能宏擴(kuò)展中有循環(huán)130) 不能被調(diào)用的過程既沒有原型也沒有定義131) 變量聲名不能很煩瑣132) 不能循環(huán)有多入口133) 過程調(diào)用不能沒有原型聲明134) 聲明語句要另起一行寫135) 外部變量應(yīng)該在頭文件的開始聲明136) 在if,while,for表達(dá)式之間要有空行137) 不能在系統(tǒng)中任何地方程序都沒有被調(diào)用138) 不能存在被0除139) 宏名稱要大寫140) 指針名稱必須有后綴141) 函數(shù)名和庫函數(shù)名不能相同142) 變量名稱不能只有大小寫不同143) 不能使用以下劃線開始的變量名144) 全局類型不能沒有前綴145) 類/結(jié)構(gòu)/聯(lián)合/枚舉的名稱不能以小寫字符開始146) 帶有#define的被包含文件要被保護(hù)147) 宏定義不能調(diào)用自己148) 在預(yù)處理程序中不能被0除149) for循環(huán)語句的初始化表達(dá)式不能很復(fù)雜150) for循環(huán)語句的增量表達(dá)式不能很復(fù)雜151) 不能在頭文件中定義函數(shù)152) 不能在頭文件中定義變量153) #include和文件名之間要有空格154) 指針在使用之前要檢查是不是為null155) 不能存在不可達(dá)代碼156) 注釋中不能包含代碼157) 不能往沒有打開過的文件中寫158) 文件指針在退出時(shí)要關(guān)閉159) Typedef定義的名稱不能以小寫字母開始160) Switch不能有多個(gè)default161) 宏調(diào)用時(shí),參數(shù)個(gè)數(shù)要正確162) 標(biāo)識(shí)符使用要一致163) 聲明變量不能缺少變量類型164) 結(jié)構(gòu)成員名稱不能重用165) 不能強(qiáng)制擴(kuò)展復(fù)雜的整型表達(dá)式166) 不能強(qiáng)制擴(kuò)展復(fù)雜的浮點(diǎn)型表達(dá)式167) #if擴(kuò)展不能包含define操作符168) 在#if中不能使用未定義的宏變量169) #include之前不能有非預(yù)處理指示170) #include 不能帶有非法條款171) 不能像使用宏一樣使用函數(shù)172) 預(yù)處理程序構(gòu)造不能作為宏參數(shù)173) 在預(yù)處理程序之后不能有額外的字符174) 在同一個(gè)文件中#else不能沒有#if 175) 不能位操作帶有浮點(diǎn)操作數(shù)176) 內(nèi)存要被釋放177) 不能從釋放內(nèi)存讀數(shù)據(jù)178) 不能有矛盾的類型179) if嵌套深度不能大于5180) 參數(shù)列表中的逗號(hào)之后空格間隔181) 變量名稱與類型不能沖突182) 字符串中不能使用空字符183) 宏代碼不能超過5行184) 枚舉,結(jié)構(gòu)和聯(lián)合的變量要被typedef185) 識(shí)符名稱和宏的名稱不能一致186) 編譯時(shí)要把產(chǎn)生的警告給全消除掉187) 禁止在編碼中直接出現(xiàn)頻率較高的常量,要以宏定義形式來使用188) 定義變量的同時(shí)初始化該變量4 編碼風(fēng)格4.1 排版規(guī)則(推薦使用) 程序塊要采用縮進(jìn)風(fēng)格編寫,縮進(jìn)的空格數(shù)為4個(gè) 循環(huán)、判斷等語句中若有較長的表達(dá)式或語句,則要進(jìn)行適應(yīng)的劃分 不允許把多個(gè)短語句寫在一行中,即一行只寫一條語句 if, while, for, default, do等語句自占一行 說明由于每個(gè)人編碼的習(xí)慣不一樣,因此在縮進(jìn)時(shí)有些可能用空格鍵來縮進(jìn),從而可能會(huì)導(dǎo)致源代碼在不同的機(jī)子上顯示出來不整齊,因此統(tǒng)一規(guī)定縮進(jìn)時(shí)以Tab鍵為準(zhǔn)。4.2 命名規(guī)則(推薦使用)本章節(jié)是關(guān)于編碼上的函數(shù)名、變量名等命名規(guī)則的制定。 原則n 名字由prefix(前綴)和suffix(后綴)組成。但是,對(duì)于本地變量等,沒有prefix(前綴)也是可以的。n 在prefix(前綴)和suffix(后綴)之間,用underscore(_)相連接。不可用其他字符來代替underscore(_)。n 在prefix(前綴)和suffix(后綴)之間,也可以存在著subprefix。在這種情況下,各個(gè)之間,還是用underscore(_)來連接。n 作為原則,源文件名應(yīng)成為prefix(前綴)。n 為了能更好區(qū)別,不介意subprefix的設(shè)置。4.2.1 變量名 規(guī)則1. 命名法遵從Hungarian記法。2. 在變量名的前綴部分文字,數(shù)字及標(biāo)記號(hào)不能使用。3. 在變量名中,句號(hào)和類型說明名字不能使用。4. 變量名的長度不宜太長。5. 不能在同樣的適用范圍內(nèi),使用同樣的變量名。6. 變量名單詞和變量用途要一致性。7. API函數(shù)名、關(guān)鍵字名字等不能使用來命名變量名。 說明1. 在命名變量prefix(前綴)部分時(shí)以變量類型的縮寫接頭詞開頭書寫。在下列中,記載了系統(tǒng)開發(fā)中推薦的類型接頭詞。NO.縮寫接頭詞類型備注1cchar2hshort3iint4llong5ffloat6ddouble7bbool8bybyte9str字符串10uunsignedunsigned int類型則命名為ui11p指針unsigned int指針類型則命名為pui12g全局變量unsigned int全局類型則命名為gui13s靜態(tài)變量unsigned int靜態(tài)類型則命名為sui14fp文件指針類型2. 關(guān)于在接頭詞后繼續(xù)書寫的單詞,單詞的開頭以及各個(gè)單詞的第一個(gè)字母都以大寫開頭的形式。例) iYear uiCnt strName .3. 使用頻率較高的單詞,在以下表格中羅列出來請(qǐng)參照。No.原單詞意思WordNo.原單詞意思Word1Count個(gè)數(shù)Cnt36Location位置Loca2ReturnCode返回值Rtc37Position位置Posi3Relese釋放Rel38Name名字Name4Delete刪除Del39Administrator管理員Admin5Set設(shè)定Set40Period期間Perd6Get取得Get41Result結(jié)果Rslt7Put放置Put42List鏈表List8Show顯示Show43Total總計(jì)Total9Hide隱藏Hide44Sum總計(jì)Sum10Open打開Open45Control控制Ctrl11Close關(guān)閉Close46Index索引Indx12Find找到Find47Address地址Addr13Extend擴(kuò)張Extd48Clear清除Clr14Insert加入Insrt49Item項(xiàng)目Itm15New新New50Value值Val16Old舊Old51Target對(duì)象Trgt17Start開始Start52Subject主題Sbj18End結(jié)束End53Year年Year19Quit退出Quit54Month月Month20First第一個(gè)First55Day日Day21Last最后一個(gè)Last56Hour時(shí)Hour22Up上Up57Minute分Min23Down下Down58Second秒Sec24Maximum最大值Max59User用戶Usr25Middle中間值Mid60Average平均Avg26Minimum最小值Min61Project工程Proj27Big大Big62Length長度Len28Small小Small63Version版本Ver29Buffer緩沖Buff64Status狀態(tài)Stat30Temporary臨時(shí)Temp65Detail詳細(xì)Dtil31Work工作Work66Sequence順序Seq32Source發(fā)起者Src67Array排列Arry33Destination目的地Dst68Message消息Msg34Application應(yīng)用Appl69Send發(fā)送Send35Operations操作Ops70Receive接收Recv4.2.2 文件名 規(guī)則1. 程序名.c2. 程序名_功能名.c3. 共同功能名.c 說明1. 只有在程序中存在著一個(gè)源文件,則把源文件名作為prefix,即:程序名.c2. 按各個(gè)機(jī)能分割開出來的程序機(jī)能源文件名,作為subPrefix,即:程序名_機(jī)能名.c3. 對(duì)于特定的程序不依賴于共通組件的,則把那個(gè)共通組件的名字作為prefix,即:共同機(jī)能名.c4.2.3 函數(shù)名a) 規(guī)則1. prefix_word1Word2Word32. prefix_subPrefix_word1Word2Word3b) 說明1. 把源文件名作為prefix 。Word部的記述方法,作為Camel形式。例)在sample.c源文件內(nèi)的函數(shù),sample_aaaBbbCcc()。例)在sample_dataGet.c源文件內(nèi)的函數(shù),sample_dataGet_aaaBbbCcc()。2. 在源文件沒有分割的情況下,在源文件內(nèi)設(shè)立函數(shù)組,這種情況下,要增加subPrefix部分。例)在sample_dataGet.c文件內(nèi)設(shè)立了檢索數(shù)據(jù)的函數(shù)組,sample_dataGet_findDB_aaaBbbCcc()。4.2.4 宏定義c) 規(guī)則全部以大寫字母來書寫,并且對(duì)于命名的名字要和實(shí)踐用途要一致,PREFIX_WORD。d) 說明在定義宏的源文件中,以原文件名作為prefix段。例)在sample.c源文件內(nèi)定義宏,則SAMPLE_ABC。4.2.5 結(jié)構(gòu)體標(biāo)記名e) 規(guī)則t_prefix_word。f) 說明在定義結(jié)構(gòu)體時(shí),結(jié)構(gòu)體標(biāo)記名以t_開頭,后接定義的prefix以源文件名。例)在sample.c源文件中定義的結(jié)構(gòu)體,其標(biāo)記名如下:struct t_sample_aaa;4.2.6 結(jié)構(gòu)體typedef名g) 規(guī)則TPrefix_Word。h) 說明在定義typedef情況下,typedef名的定義以大寫T開頭,Prefix段以原文件名及后面Word的開頭字母都以大寫形式。例)在sample.c源文件內(nèi),結(jié)構(gòu)體typedef名的定義如下:typedef struct t_sample_aaaTSample_Aaa;4.2.7 枚舉enum定義i) 規(guī)則Eprefix_Word。j) 說明枚舉enum是存在著多種值的情況下定義的,因此也伴隨著typedef的定義。枚舉名的定義跟結(jié)構(gòu)體名的定義是一樣的,只不過定義的名字以E為開頭。例)在sample.c源文件內(nèi)的枚舉enum定義:typedef enumsDataResult1 = 0,sDataResult2,ESample_DataResult;4.3 注釋規(guī)則(推薦使用)本章節(jié)記述了在軟件開發(fā)過程中文件、函數(shù)的header的記載內(nèi)容及評(píng)語。有關(guān)注釋的全部規(guī)約如下:1. 注釋的語言最好用英語或中文進(jìn)行記述,不要用其他語言。2. 不要記述無用的注釋。3. 禁止與處理有差異的評(píng)語的記述。4.3.1 頭文件的全部構(gòu)成/*-開頭部分-*/*-*/預(yù)處理塊定義/*-*/*-*/Includes導(dǎo)入.h文件/*-*/類或者外部接口函數(shù)的聲明下面舉例了一個(gè)具體的例子/*-*(C) COPYRIGHT 2008 BY ZHEDAWANGXIN CORPORATION ALL RIGHTS *RESERVED*Data:2008.6.30*Author:guanwx*Version:v0.01*File:chgNum.h*Note:chgNum.c的頭文件,外部接口函數(shù)和類的聲明。-*/#ifndefCHGNUM_H /*防止chgNum.h被重復(fù)引用*/#defineCHGNUM_H/*-*/#include /*引用標(biāo)準(zhǔn)庫的頭文件*/#include “myheader.h” / 引用非標(biāo)準(zhǔn)庫的頭文件/*-*/void chgNum_shortToString(); /*全局函數(shù)聲明*/class CBox /*類結(jié)構(gòu)聲明*/;#endif4.3.2 源文件的全部構(gòu)成以下描述了源文件的全部構(gòu)成。/*-開頭部分-*/更改履歷/*-*/Includes導(dǎo)入.h文件/*-*/Macros宏的定義/*-*/Table & Globals內(nèi)部結(jié)構(gòu)體、全局變量、靜態(tài)變量的定義/*-*/文件內(nèi)部函數(shù)的原型內(nèi)部函數(shù)的聲明/*-*/內(nèi)部函數(shù)內(nèi)部函數(shù)群4.3.3 開頭部分源文件的開頭部分以下面形式說明:/*-*(C) COPYRIGHT 時(shí)間 BY 公司名CORPORATION ALL RIGHTS RESERVED*Data:時(shí)間*Author:作者名*Version:版本號(hào)*File:文件名*Note:文件作用說明/*-*/下面舉例了一個(gè)具體的例子/*-*(C) COPYRIGHT 2008 BY ZHEDAWANGXIN CORPORATION ALL RIGHTS *RESERVED*Data:2008.6.30*Author:guanwx*Version:v0.01*File:chgNum.c*Note:在本文件里提供的以下各個(gè)函數(shù)。* - chgNum_shortToString() short型的數(shù)值轉(zhuǎn)換成字符串類型* - chgNum_longToString() long型的數(shù)值轉(zhuǎn)換成字符串類型-*/4.3.4 更改履歷/*-*時(shí)間 作者*說明-*/下面舉例了一個(gè)具體的例子/*-*2008.6.30 guanwx*新增加函數(shù)chgNum_shortToDollar()*修改函數(shù)chgNum_shortToString()-*/4.3.5 宏定義的注釋宏定義的注釋按下面來規(guī)定/* 宏定義的說明和注釋 */#define MACRO 100#define MACRO 100 /* 宏定義的說明和注釋 */4.3.6 內(nèi)部結(jié)構(gòu)體、全局和靜態(tài)變量定義對(duì)于文件內(nèi)部結(jié)構(gòu)體、全局、靜態(tài)變量定義的注釋按下來說明/* 結(jié)構(gòu)體的用處說明 */typedef struct t_sampleint iInitFlag; /*標(biāo)志是否初始化過*/unsigned short uhMsgStat;/* 消息發(fā)收的狀態(tài)消息發(fā)收狀態(tài)值表示- 0:還未發(fā)送- 1:已收完- 2:已送完 */ TSample;int giCnt = 0; /*對(duì)此全局變量的注釋和說明*/int siCnt = 0; /*對(duì)此靜態(tài)變量的注釋和說明*/4.3.7 函數(shù)開頭部分的注釋函數(shù)的開頭部分的注釋按以下來說明/*-*Function:函數(shù)名* Brief:功能* Param:param1 說明* param2 說明* Retval:返回值*Author:作者*Data:日期-*/ 函數(shù)沒有帶參數(shù)時(shí),則只需寫void。 函數(shù)沒有返回值時(shí),則不用寫。下面舉例了一個(gè)具體的例子/*-*Function:chgNum_shortToString* Brief:short型的數(shù)值轉(zhuǎn)換成字符串* Param:sNum IN 要變換的對(duì)象值* pStr OUT 轉(zhuǎn)換后的字符串* Retval:變換成功時(shí):字符串的長度* 變換失敗時(shí):0*Author:guanweixin*Data:2008.6.30-*/unsigned short chgNum_shortToString(signed short sNum,char *pStr) 4.3.8 函數(shù)內(nèi)部處理的注釋在函數(shù)內(nèi)部處理中,基本上以下面兩種方式進(jìn)行注釋。/* 注釋和說明 */下面舉例了一個(gè)具體的例子unsigned short chgNum_shortToString(signed short sNum,char *pStr)/* 初期化處理 */* 用0x00預(yù)先處理輸出時(shí)所指向的內(nèi)存 */* 取得用于輸出時(shí)所指向內(nèi)存的地址 */* 輸出時(shí)所指向內(nèi)存里的開頭符號(hào)設(shè)定 */* 判定輸入數(shù)值的正負(fù)號(hào) */* 每個(gè)對(duì)應(yīng)的ASCII碼的轉(zhuǎn)換 */ /* 輸出用的參數(shù)設(shè)定 */ /* 計(jì)算字符串的長度 */ /* 字符串長度的返回 */4.4 函數(shù)定義(推薦使用) 規(guī)則1) 函數(shù)所帶的參數(shù)較多時(shí),要改行描述,要使得參數(shù)排版整潔。2) 函數(shù)不帶參數(shù)時(shí),則用void來描述。 說明作成函數(shù)存在著較多參數(shù)時(shí),則改行來寫。不良風(fēng)格例子良好風(fēng)格例子int Sample( int iParam1, int iParam2, int iParam3, int iParam4 )int

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論