注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C/C++及其相關(guān)C++編碼規(guī)范

C++編碼規(guī)范

C++編碼規(guī)范

定 價(jià):¥32.00

作 者: 陳世忠編著
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: C語言 程序設(shè)計(jì)

ISBN: 9787115102867 出版時(shí)間: 2002-01-01 包裝: 精裝
開本: 23cm 頁數(shù): 240 字?jǐn)?shù):  

內(nèi)容簡介

  作者介紹:本書作者陳世忠是摩托羅拉公司的資深軟件工程師。重點(diǎn)::本書由摩托羅拉公司進(jìn)行了長達(dá)4個(gè)月的細(xì)致深入的審校。CMM是目前軟件行業(yè)的熱點(diǎn),本書作者所在的部門達(dá)到CMM5(最高級(jí))。全世界只有幾十家能達(dá)到這個(gè)級(jí)別。在中國,只有摩托羅拉的兩個(gè)部門達(dá)到此級(jí)。本書列舉的很多原則被列入摩托羅拉公司必須遵從的標(biāo)準(zhǔn)文檔,對(duì)個(gè)人和軟件項(xiàng)目開發(fā)組都有較高的參考價(jià)值。C++是去年和今年程序設(shè)計(jì)類的熱點(diǎn),本書是一本關(guān)于面向?qū)ο笤O(shè)計(jì)和C++語言實(shí)現(xiàn)的思想精華的總結(jié)的書。讀者群:本書適合有一定C++語言基礎(chǔ)的人閱讀。如果是初學(xué)者,希望一開始就養(yǎng)成良好的編程習(xí)慣,那么本書會(huì)將你引入編程的正確方向。本書還可供軟件開發(fā)項(xiàng)目組參考。簡介:本書由300多條C++編程原則組成,融合并提煉了許多人多年開發(fā)C++程序積累下來的成熟經(jīng)驗(yàn),意在幫助讀者形成良好的編程風(fēng)格,迅速跨入業(yè)已存在的且具有相當(dāng)高度的技術(shù)層次,并期望能夠?yàn)樘岣叽a的復(fù)用性提供積極的參考。書中對(duì)每條原則給出了針對(duì)該原則的描述,并輔以實(shí)例加以說明,同時(shí)闡述了為什么要這么做的道理。每條原則相對(duì)獨(dú)立又前后呼應(yīng),不需要花費(fèi)大塊的時(shí)間進(jìn)行系統(tǒng)地閱讀,按類細(xì)分的原則會(huì)讓你學(xué)起來更輕松。本書作者所在的部門達(dá)到CMM第5級(jí)(最高級(jí))標(biāo)準(zhǔn),書中列舉的很多原則被列入該部門必須遵從的標(biāo)準(zhǔn)文檔;且本書源于開發(fā)、用于開發(fā),針對(duì)性比較強(qiáng)。本書適合有一定C++語言基礎(chǔ)的人閱讀。如果你是一個(gè)初學(xué)者,希望一開始就養(yǎng)成良好的編程習(xí)慣,那么本書也會(huì)對(duì)你有所幫助。本書還可供軟件開發(fā)項(xiàng)目組參考。

作者簡介

暫缺《C++編碼規(guī)范》作者簡介

圖書目錄

第0章 為什么要用C++ 
0.1 原因 
0.2 語言的發(fā)展和代碼復(fù)用 
0.3 代碼復(fù)用的特點(diǎn) 
0.4 代碼復(fù)用對(duì)我們的影響 
第1章 命名原則 
原則1.1 關(guān)于類型名 
原則1.2 關(guān)于變量和函數(shù)名 
原則1.3 關(guān)于全大寫的函數(shù)名(建議) 
原則1.4 關(guān)于宏、常量和模板名 
原則1.5 關(guān)于指針標(biāo)識(shí)符名(供參考) 
原則1.6 關(guān)于變量名前綴(供參考) 
原則1.7 關(guān)于匿名命名空間級(jí)標(biāo)識(shí)符的前綴 
原則1.8 減少匿名命名空間級(jí)標(biāo)識(shí)符 
原則1.9 命名時(shí)避免使用國際組織占用的格式 
原則1.10 名字要本著清楚、簡單的原則 
原則1.11 盡量用可發(fā)音的名字 
原則1.12 盡量用英文命名 
原則1.13 盡量選擇通用詞匯并貫穿始終 
原則1.14 避免用模棱兩可、晦澀或不標(biāo)準(zhǔn)的縮寫 
原則1.15 避免使用會(huì)引起誤解的詞匯 
原則1.16 減少名字中的冗余信息 
原則1.17 建議起名盡量通俗,太專一會(huì)限制以后的擴(kuò)展 
原則1.18 名字最好盡可能精確地表達(dá)其內(nèi)容 
原則1.19 避免名字中出現(xiàn)形狀混淆的字母或數(shù)字 
原則1.20 命名類和成員使得“object.method()”有意義 
原則1.21 類和對(duì)象名應(yīng)是名詞 
原則1.22 實(shí)現(xiàn)行為的類成員函數(shù)名應(yīng)是動(dòng)詞 
原則1.23 類的存取和查詢成員函數(shù)名應(yīng)是名詞或形容詞 
原則1.24 變量名應(yīng)是名詞 
原則1.25 布爾型的名字要直觀 
原則1.26 關(guān)于函數(shù)的左值參數(shù)和右值參數(shù)名 
原則1.27 避免局部名和外層的名字沖突 
原則1.28 用a、an、any區(qū)分重名(參數(shù)) 
原則1.29 模板類型名應(yīng)有意義 
第2章 類型的使用 
原則2.1 避免隱式聲明類型 
原則2.2 慎用無符號(hào)類型 
原則2.3 少用浮點(diǎn)數(shù)除非必須 
原則2.4 用typedef簡化程序中的復(fù)雜語法 
原則2.5 少用union 
原則2.6 慎用位操作 
原則2.7 用enum取代(一組相關(guān)的)常量 
原則2.8 使用內(nèi)置bool類型 
原則2.9 (盡量)用引用取代指針 
第3章 函數(shù) 
原則3.1 一定要做到先定義后使用 
原則3.2 函數(shù)原型聲明放在一個(gè)頭文件中 
原則3.3 函數(shù)無參數(shù)一定要用void標(biāo)注 
原則3.4 對(duì)于內(nèi)置類型參數(shù)應(yīng)傳值(除非函數(shù)內(nèi)部要對(duì)其修改) 
原則3.5 對(duì)于非內(nèi)置類型參數(shù)應(yīng)傳遞引用(首選)或指針 
原則3.6 關(guān)于何時(shí)用指針傳遞參數(shù) 
原則3.7 避免使用參數(shù)不確定的函數(shù) 
原則3.8 若不得不使用參數(shù)不確定的函數(shù),用<stdarg.h>提供的方法 
原則3.9 避免函數(shù)的參數(shù)過多 
原則3.10 盡量保持函數(shù)只有唯一出口 
原則3.11 顯式定義返回類型 
原則3.12 (非void)任何情況都要有返回值 
原則3.13 若函數(shù)返回狀態(tài),嘗試用枚舉作類型 
原則3.14 返回指針類型的函數(shù)應(yīng)該用NULL表示失敗 
原則3.15 函數(shù)盡量返回引用(而不是值) 
原則3.16 若必須返回值,不要強(qiáng)行返回引用 
原則3.17 當(dāng)函數(shù)返回引用或指針時(shí),用文字描述其有效期 
原則3.18 禁止成員函數(shù)返回成員(可讀寫)的引用或指針 
原則3.19 重復(fù)使用的代碼用函數(shù)替代 
原則3.20 關(guān)于虛友元函數(shù) 
原則3.21 關(guān)于虛構(gòu)造函數(shù) 
第4章 類的設(shè)計(jì)和聲明 
原則4.1 類應(yīng)是描述一組對(duì)象的集合 
原則4.2 類成員應(yīng)是私有的(private) 
原則4.3 保持對(duì)象狀態(tài)信息的持續(xù)性 
原則4.4 提高類內(nèi)聚合度 
原則4.5 降低類間的耦合度 
原則4.6 努力使類的接口少而完備 
原則4.7 保持類的不同接口在實(shí)現(xiàn)原則上的一致性 
原則4.8 保持不同類的接口在實(shí)現(xiàn)原則上的一致性 
原則4.9 避免為每個(gè)類成員提供訪問函數(shù) 
原則4.10 不要在類定義時(shí)提供成員函數(shù)體 
原則4.11 函數(shù)聲明(而不是實(shí)現(xiàn))時(shí)定義參數(shù)的缺省值 
原則4.12 恰當(dāng)選擇成員函數(shù)、全局函數(shù)和友元函數(shù) 
原則4.13 防范、杜絕潛在的二義性 
原則4.14 顯式禁止編譯器自動(dòng)生成不需要的函數(shù) 
原則4.15 當(dāng)遇到錯(cuò)誤時(shí)對(duì)象應(yīng)該應(yīng)對(duì)有度 
原則4.16 用嵌套類的方法減少匿名命名空間類的數(shù)量 
第5章 (面向?qū)ο蟮?繼承 
原則5.1 “公共繼承(public inheritance)”意味著“派生類是基類” 
原則5.2 關(guān)于“有”和“由...實(shí)現(xiàn)” 
原則5.3 關(guān)于繼承和模板(template)的區(qū)別 
原則5.4 關(guān)于繼承接口和繼承實(shí)現(xiàn) 
原則5.5 限制繼承的層數(shù) 
原則5.6 繼承樹上非葉子節(jié)點(diǎn)的類應(yīng)是虛基類 
原則5.7 顯式提供繼承和訪問修飾:public、protected或private 
原則5.8 顯式指出繼承的虛函數(shù) 
原則5.9 基類析構(gòu)函數(shù)(destructor)首選是虛函數(shù) 
原則5.10 絕不要重新定義(繼承來的)非虛函數(shù) 
原則5.11 絕不要重新定義缺省參數(shù)值 
原則5.12 不要將基類強(qiáng)制轉(zhuǎn)換成派生類
原則5.13 關(guān)于C++中的分支用法選擇 
原則5.14 慎用多重繼承 
原則5.15 所有多重繼承的基類析構(gòu)函數(shù)都應(yīng)是虛函數(shù) 
第6章 內(nèi)存分配和釋放 
原則6.1 用new、delete取代malloc、calloc、realloc和free 
原則6.2 new、delete和new[]、delete[]要成對(duì)使用 
原則6.3 確保所有new出來的東西適時(shí)被delete掉 
原則6.4 誰申請(qǐng)誰釋放 
原則6.5 當(dāng)對(duì)象消亡時(shí)確保指針成員指向的系統(tǒng)堆內(nèi)存全部被釋放 
原則6.6 自定義類的new/delete操作符一定要符合原操作符的行為規(guī)范 
原則6.7 自定義類的new操作符一定要自定義類的delete操作符 
原則 6.8 當(dāng)所指的內(nèi)存被釋放后,指針應(yīng)有一個(gè)合理的值 
原則6.9 記住給字符串結(jié)束符申請(qǐng)空間 
第7章 初始化和清除 
原則7.1 聲明后就初始化強(qiáng)于使用前才初始化 
原則7.2 初始化要徹底 
原則7.3 確保每一個(gè)構(gòu)造函數(shù)都實(shí)現(xiàn)完全的初始化 
原則7.4 盡量使用初始化列表 
原則7.5 初始化列表要按成員聲明順序初始化它們 
原則7.6 構(gòu)造函數(shù)沒結(jié)束,對(duì)象就沒有構(gòu)造出來 
原則7.7 不要用構(gòu)造函數(shù)初始化靜態(tài)成員 
原則7.8 拷貝構(gòu)造函數(shù)和賦值函數(shù)盡量用常量參數(shù) 
原則7.9 讓賦值函數(shù)返回當(dāng)前對(duì)象的引用 
原則7.10 在賦值函數(shù)中防范自己賦值自己 
原則7.11 拷貝和賦值要確保徹底 
原則7.12 關(guān)于構(gòu)造函數(shù)、析構(gòu)函數(shù)、賦值函數(shù)、相等或不等函數(shù)的格式 
原則7.13 為大多數(shù)類提供缺省和拷貝構(gòu)造函數(shù)、析構(gòu)函數(shù)、賦值函數(shù)、相等函數(shù) 
原則7.14 只有在有意義時(shí)才提供缺省構(gòu)造函數(shù) 
原則7.15 包含資源管理的類應(yīng)自定義拷貝構(gòu)造函數(shù)、賦值函數(shù)和析構(gòu)函數(shù) 
原則7.16 拷貝構(gòu)造函數(shù)、賦值函數(shù)和析構(gòu)函數(shù)要么全自定義,要么全生成 
原則7.17 類應(yīng)有自己合理的拷貝原則:或淺拷貝或深拷貝 
原則7.18 若編譯時(shí)會(huì)完全初始化,不要給出數(shù)組的尺寸 
原則7.19 將循環(huán)索引的初值定在循環(huán)點(diǎn)附近 
原則7.20 確保全局變量在使用前被初始化 
第8章 常量 
原則8.1 關(guān)于常量修飾符的含義 
原則8.2 在設(shè)計(jì)函數(shù)原型時(shí),對(duì)那些不可能被修改的參數(shù)用常量修飾 
原則8.3 類成員可以轉(zhuǎn)換成常量形式暴露出來 
原則8.4 關(guān)于常量成員函數(shù) 
原則8.5 不要讓常量成員函數(shù)修改程序的狀態(tài) 
原則8.6 不要將常量強(qiáng)制轉(zhuǎn)換成非常量 
原則8.7 任何變量和成員函數(shù),首選用const修飾 
第9章 重載 
原則9.1 仔細(xì)區(qū)分帶缺省值參數(shù)的函數(shù)和重載函數(shù) 
原則9.2 確保重載函數(shù)的所有版本有共同的目的和相似的行為 
原則9.3 避免重載在指針和整型類型上 
原則9.4 盡量避免重載在模板類型上 
第10章 操作符 
原則10.1 遵守操作符原本的含義,不要?jiǎng)?chuàng)新 
原則10.2 確保自定義操作符能和其他操作符混合使用 
原則10.3 區(qū)分作為成員函數(shù)和作為友元的操作符 
原則10.4 關(guān)于前后綴操作符 
原則10.5 確保相關(guān)的一組操作符行為統(tǒng)一 
原則10.6 絕不要自定義operator&&()、operator||()和operator,() 
第11章 類型轉(zhuǎn)換 
原則11.1 盡量避免強(qiáng)制類型轉(zhuǎn)換 
原則11.2 如果不得不做類型轉(zhuǎn)換,盡量用顯式方式 
原則11.3 使用新型的類型轉(zhuǎn)換并確保選擇正確 
原則11.4 用虛函數(shù)方式取代dynamic_cast 
原則11.5 自定義類最好提供顯式而不是隱式轉(zhuǎn)換函數(shù) 
原則11.6 用關(guān)鍵字explicit防止單參數(shù)構(gòu)造函數(shù)的類型轉(zhuǎn)換功能 
原則11.7 限制隱式類型轉(zhuǎn)換的類型數(shù) 
原則11.8 避免多個(gè)函數(shù)提供相同的類型轉(zhuǎn)換 
第12章 友元 
原則12.1 少用友元 
原則12.2 減少擁有友元特權(quán)的個(gè)數(shù) 
第13章 模板 
原則13.1 使用模板如果有限制條件一定要在注釋和文檔中描述清楚 
原則13.2 模板類型應(yīng)傳引用/指針而不是值 
原則13.3 注意模板編譯的特殊性 
原則13.4 嵌套template的>>中間要加空格以區(qū)別于operator>> 
第14章 表達(dá)式和控制流程 
原則14.1 讓表達(dá)式直觀 
原則14.2 避免在表達(dá)式中用賦值語句 
原則14.3 不能將枚舉類型進(jìn)行運(yùn)算后再賦給枚舉變量 
原則14.4 避免對(duì)浮點(diǎn)類型做等于或不等于判斷 
原則14.5 嘗試用范圍比較代替精確比較 
原則14.6 范圍用包含下限不包含上限方式表示 
原則14.7 關(guān)于goto 
原則14.8 在循環(huán)過程中不要修改循環(huán)計(jì)數(shù)器 
第15章 宏 
原則15.1 徹底用常量替代(類似功能的)宏 
原則15.2 代碼中的數(shù)值應(yīng)由一個(gè)有意義的標(biāo)識(shí)符代替 
原則15.3 若宏值多于一項(xiàng),一定要使用括號(hào) 
原則15.4 不要用分號(hào)結(jié)束宏定義 
原則15.5 徹底用inline函數(shù)替代(類似功能的)宏函數(shù) 
原則15.6 不好被替代的宏函數(shù) 
原則15.7 函數(shù)宏的每個(gè)參數(shù)都要括起來 
原則15.8 不帶參數(shù)的宏函數(shù)也要定義成函數(shù)形式 
原則15.9 用{}將函數(shù)宏的函數(shù)體括起來 
原則15.10 徹底用typedef代替宏定義新類型 
原則15.11 不要在公共頭文件中定義宏 
原則15.12 不要用宏改寫語言 
第16章 異常(exception)處理 
原則16.1 確保代碼在異常出現(xiàn)時(shí)能正確處理 
原則16.2 正確注釋代碼的異常處理能力 
原則16.3 減少不必要的異常處理 
原則16.4 不要利用異常處理機(jī)制處理其他功能 
原則16.5 注意模板類型可能會(huì)破壞異常處理的一些約定 
原則16.6 確保異常發(fā)生后資源還能被回收 
原則16.7 特別當(dāng)心析構(gòu)時(shí)發(fā)生異常 
原則16.8 拋出的異常最好是一個(gè)對(duì)象 
原則16.9 捕捉異常時(shí)絕不要先基類后派生類 
原則16.10 捕捉異常時(shí)用引用 
第17章 代碼格式 
原則17.1 水平縮進(jìn)每次用兩個(gè)空格 
原則17.2 不要在引用操作符前后加空格 
原則17.3 不要在單目操作符和其操作對(duì)象間加空格 
原則17.4 不要在“::”前后加空格 
原則17.5 在“,"";”之后(而不是之前)加空格 
原則17.6 在關(guān)鍵字和其后的“(”間加一個(gè)空格 
原則17.7 文件中的主要部分用空行分開 
原則17.8 函數(shù)間要用空行分開 
原則17.9 組局部變量聲明和代碼之間用空行分開 
原則17.10 用空行將代碼按邏輯片斷劃分 
原則17.11 可以考慮將if塊和else/else if塊用空行分開 
原則17.12 函數(shù)返回語句要和其他語句用空行分開 
原則17.13 每一行不超過78個(gè)字符 
原則17.14 當(dāng)一條語句超過78個(gè)字符時(shí)按邏輯劃分成不同行 
原則17.15 花括號(hào){}要單獨(dú)占一行 
原則17.16 花括號(hào)中沒有或只有一條語句時(shí)也不省略花括號(hào) 
原則17.17 不要在一行中放多于一條語句 
原則17.18 語句switch中的每個(gè)case各占一行 
原則17.19 語句switch中的case按字母順序排列 
原則17.20 為所有switch語句提供default分支 
原則17.21 若某個(gè)case不需要break一定要加注釋聲明 
原則17.22 變量定義應(yīng)集中放置、各占一行,并按字母順序排列 
原則17.23 定義指針和引用時(shí)*和&緊跟類型 
原則17.24 按編譯器解析順序放置變量聲明的修飾符 
原則17.25 關(guān)于函數(shù)聲明和定義的格式 
原則17.26 函數(shù)名和左括號(hào)間不要空格 
原則17.27 聲明函數(shù)時(shí)給出參數(shù)的名字,除非沒有用處 
原則17.28 關(guān)于類內(nèi)不同級(jí)別的元素排列順序 
原則17.29 關(guān)于類成員函數(shù)的排列順序 
原則17.30 類成員變量按字母順序排列 
原則17.31 關(guān)于靜態(tài)成員的訪問 
原則17.32 關(guān)于字符常量 
原則17.33 用帶顏色的編輯器 
第18章 注釋 
原則18.1 用英語寫全部的注釋 
原則18.2 確保注釋完善你的代碼,而不是重復(fù)你的代碼 
原則18.3 注釋用詞要精確,不能有二義性 
原則18.4 注釋中的術(shù)語要通用 
原則18.5 注釋要簡單、清楚、切中要害 
原則18.6 注釋不能超出被注釋代碼所包含的內(nèi)容 
原則18.7 注釋中避免引用容易變化的信息 
原則18.8 確保所有注釋(隨代碼)及時(shí)更新 
原則18.9 注釋不具備約束使用者行為的能力 
原則18.10 注釋不要嵌套 
原則18.11 不要用/**/注釋掉(大塊)代碼,應(yīng)該用#if 0 
原則18.12 區(qū)分“戰(zhàn)略性”注釋和“戰(zhàn)術(shù)性”注釋 
原則18.13 行末注釋盡量對(duì)齊 
原則18.14 單獨(dú)的注釋行和被注釋語句縮進(jìn)相同的空格 
原則18.15 減少不必要的單獨(dú)占一行的注釋 
原則18.16 對(duì)每個(gè)#else或#endif給出行末注釋 
原則18.17 對(duì)每個(gè)引用的頭文件給出行末注釋 
原則18.18 對(duì)每個(gè)空循環(huán)體給出確認(rèn)性注釋 
原則18.19 關(guān)于函數(shù)注釋 
原則18.20 關(guān)于注釋頻率 
第19章 文件和目錄 
原則19.1 使用統(tǒng)一而且通用的文件名后綴 
原則19.2 關(guān)于文件名的選擇 
原則19.3 關(guān)于文件/目錄名的字符集選擇 
原則19.4 關(guān)于每個(gè)類的文件組成 
原則19.5 關(guān)于模板類的文件安排 
原則19.6 保持文件前言的簡潔性 
原則19.7 關(guān)于文件的段落安排 
原則19.8 關(guān)于目錄組織 
第20章 頭文件 
原則20.1 頭文件多次引用的防范 
原則20.2 確保公共頭文件的自足性 
原則20.3 只引用需要的頭文件 
原則20.4 引用時(shí)""和<>的用法 
原則20.5 引用頭文件的順序 
原則20.6 引用時(shí)不要用絕對(duì)路徑 
原則20.7 將函數(shù)庫放在一個(gè)單獨(dú)的目錄下引用 
原則20.8 不要在頭文件中定義常量/變量 
原則20.9 任何聲明若被多個(gè)源文件引用則應(yīng)在一個(gè)頭文件中 
原則20.10 在源文件中不要用關(guān)鍵字extern 
第21章 條件編譯 
原則21.1 最小化條件編譯的使用范圍 
原則21.2 若使用#if或#ifdef,不要遺漏#else 
原則21.3 編譯條件的含義要具體 
原則21.4 對(duì)復(fù)雜的編譯條件用括號(hào)使其清晰 
原則21.5 條件編譯和普通條件語句不要混合使用 
原則21.6 若只測試某符號(hào)是否存在,不要給該符號(hào)賦值 
第22章 編譯 
原則22.1 關(guān)注編譯時(shí)的警告(warning)錯(cuò)誤 
原則22.2 把問題盡量暴露在編譯時(shí)而不是運(yùn)行時(shí) 
原則22.3 減少文件的依賴程度 
原則22.4 減少編譯時(shí)間 
原則22.5 透徹研究編譯器 
第23章 兼容性 
原則23.1 遵守ANSI C和ISO C++國際標(biāo)準(zhǔn) 
原則23.2 將不符合國際標(biāo)準(zhǔn)的代碼與其他代碼分開 
原則23.3 不要假設(shè)字符類型是否是有符號(hào)類型 
原則23.4 運(yùn)算時(shí)顯式轉(zhuǎn)換有符號(hào)和無符號(hào)類型 
原則23.5 注意雙字節(jié)字符的兼容性 
原則23.6 恰當(dāng)使用位操作符 
原則23.7 注意位域(bitfield)變量的兼容性問題 
原則23.8 不要強(qiáng)制引用/指針指向尺寸不同的目標(biāo) 
原則23.9 確保類型轉(zhuǎn)換不會(huì)丟失信息 
原則23.10 不要假設(shè)類型的存儲(chǔ)尺寸 
原則23.11 如果一定要規(guī)定類型的存儲(chǔ)尺寸 
原則23.12 不要假設(shè)對(duì)象(等數(shù)據(jù)結(jié)構(gòu))的存儲(chǔ)結(jié)構(gòu) 
原則23.13 注意運(yùn)算溢出問題 
原則23.14 不要假設(shè)表達(dá)式的運(yùn)算順序 
原則23.15 不要假設(shè)函數(shù)參數(shù)的計(jì)算順序 
原則23.16 不要假設(shè)不同源文件中靜態(tài)或全局變量的初始化順序 
原則23.17 不要依賴編譯器基于實(shí)現(xiàn)、未明確或未定義的功能 
原則23.18 注意數(shù)據(jù)文件的兼容性 
原則23.19 注意引用公共庫的兼容性 
原則23.20 一定不要重新實(shí)現(xiàn)標(biāo)準(zhǔn)庫函數(shù) 
原則23.21 將所有#include的文件名視為大小寫敏感 
原則23.22 代碼中用到的路徑只用“/”而不要用“/” 
原則23.23 確保main()函數(shù)總是返回一個(gè)整型 
原則23.24 不要依賴pragmas 
第24章 性能 
原則24.1 使用性能追蹤分析工具 
原則24.2 不要用移位代替乘除運(yùn)算 
原則24.3 如無必要,不要用非int的整型類型 
原則24.4 不要使用關(guān)鍵字register 
原則24.5 避免在循環(huán)體內(nèi)部定義對(duì)象 
原則24.6 減少代價(jià)很高的對(duì)象拷貝 
原則24.7 減少臨時(shí)對(duì)象 
原則24.8 注意大尺寸對(duì)象數(shù)組 
原則24.9 返回對(duì)象(值)的優(yōu)化 
原則24.10 前綴++和--的效率更高 
原則24.11 恰當(dāng)使用遞歸 
原則24.12 恰當(dāng)?shù)厥褂胕nline函數(shù) 
原則24.13 虛函數(shù)和虛繼承效率會(huì)有一點(diǎn)損失 
原則24.14 如果合理,使用編譯器生成的函數(shù) 
原則24.15 如果合理,構(gòu)造直傳類 
原則24.16 關(guān)于緩存(cache)類成員 
原則24.17 關(guān)于標(biāo)準(zhǔn)庫的性能 
原則24.18 關(guān)于偷懶 
原則24.19 關(guān)于勤快 
原則24.20 80-20原則 
第25章 其他 
原則25.1 避免產(chǎn)生全局?jǐn)?shù)據(jù)對(duì)象 
原則25.2 確保任何定義只發(fā)生一次 
原則25.3 指針操作中用NULL代替0 
原則25.4 不要把NULL用在指針以外的領(lǐng)域 
原則25.5 不要弄巧成拙 
原則25.6 將不再使用的代碼刪掉 
原則25.7 運(yùn)行時(shí)不要改變進(jìn)程的環(huán)境變量 
原則25.8 該用volatile時(shí)一定要用 
原則25.9 不要使用鮮為人知的替換符號(hào) 
原則25.10 關(guān)于代碼審查(code inspection/review)規(guī)范 
附錄 供參考的源代碼

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)