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

C++編程規(guī)范:101條規(guī)則、準(zhǔn)則與最佳實(shí)踐

C++編程規(guī)范:101條規(guī)則、準(zhǔn)則與最佳實(shí)踐

定 價(jià):¥35.00

作 者: 薩特,亞歷山德雷斯庫 著,劉基誠 譯;劉基誠譯
出版社: 人民郵電出版社
叢編項(xiàng): 圖靈程序設(shè)計(jì)叢書
標(biāo) 簽: C++

ISBN: 9787115142054 出版時(shí)間: 2006-01-01 包裝: 膠版紙
開本: 小16開 頁數(shù): 216 字?jǐn)?shù):  

內(nèi)容簡介

  在本書中,兩位知名的C++專家將全球C++界的集體智慧和經(jīng)驗(yàn)?zāi)Y(jié)成一套編程規(guī)范。這些規(guī)范可以作為每一個(gè)開發(fā)團(tuán)隊(duì)制定實(shí)際開發(fā)規(guī)范的基礎(chǔ),更是每一位C++程序員應(yīng)該遵循的行事準(zhǔn)則。書中對每一條規(guī)范都給出了精確的描述,并輔以實(shí)例說明;從類型定義到錯(cuò)誤處理,都給出了最佳的C++實(shí)踐。即使使用C++多年的程序員也會(huì)從本書中受益匪淺。本書適合于各層次C++程序員使用,也可作為高等院校C++課程的教學(xué)參考書。良好的編程規(guī)范可以改善軟件質(zhì)量,縮短上市時(shí)間,提升團(tuán)隊(duì)效率,簡化維護(hù)工作。在本書中,兩位全世界最受尊敬的C++專家將全球C++界的集體智慧和經(jīng)驗(yàn)?zāi)Y(jié)成一整套編程規(guī)范。這些規(guī)范可以作為每一個(gè)開發(fā)團(tuán)隊(duì)制定實(shí)際開發(fā)規(guī)范的基礎(chǔ),更是每一位C++程序員應(yīng)該遵循的行事準(zhǔn)則。.本書涵蓋了C++程序設(shè)計(jì)的方方面面,包括設(shè)計(jì)和編碼風(fēng)格、函數(shù)、操作符、類的設(shè)計(jì)、繼承、構(gòu)造與析構(gòu)、賦值、名字空間、模塊、模板、泛型、異常、STL容器和算法等。書中對每一條規(guī)范都給出了言簡意賅的敘述,并輔以實(shí)例說明;書中還給出了從類型定義到錯(cuò)誤處理等方面大量的C++最佳實(shí)踐,包括許多最新總結(jié)出的和標(biāo)準(zhǔn)化的技術(shù),即使使用C++多年的程序員也會(huì)從中受益匪淺?!鐾ㄟ^閱讀本書,可以找到以下問題的答案:..■哪些東西值得標(biāo)準(zhǔn)化?哪些東西不值得標(biāo)準(zhǔn)化?■使代碼可擴(kuò)展的最佳方法是什么?■合理的錯(cuò)誤處理策略有哪些要素?■如何(和為什么要)避免不必要的初始化、循環(huán)依賴和定義依賴?■何時(shí)應(yīng)該(以及如何)同時(shí)使用靜態(tài)和動(dòng)態(tài)的多態(tài)性?■如何實(shí)踐“安全的”改寫(override)?■何時(shí)該提供不會(huì)失敗的交換(swap)?■為什么要阻止異??缭侥K邊界傳播?如何阻止?■為什么不應(yīng)該在頭文件中寫名字空間聲明或指令?■為什么應(yīng)該使用STLvector和string代替數(shù)組?■如何選擇正確的STL搜索算法?■為了保證代碼的類型安全,應(yīng)該遵從哪些規(guī)則?...

作者簡介

  HerbSutter是ISOC++標(biāo)準(zhǔn)委員會(huì)主席,《C++UsersJournal》雜志特邀編輯和專欄作家。他目前在微軟公司領(lǐng)導(dǎo).NET環(huán)境下C++語言擴(kuò)展的設(shè)計(jì)工作。除本書外,他還撰寫了三本廣受贊譽(yù)的圖書:《ExceptionalC++Style》(中文版即將由人民郵電出版社出版)、《ExceptionalC++》和《MoreExceptionalC++》。AndreiAlexandrescu是世界頂尖的C++專家,《C++UsersJournal》雜志的專欄作家,他的《ModernC++Design》一書曾榮獲2001年最佳C++圖書稱號(hào)。書中所開發(fā)的Loki已經(jīng)成為最負(fù)盛名的C++程序庫之一。

圖書目錄

組織和策略問題        1
第0條 不要拘泥于小節(jié)(又名:了解哪些東西不應(yīng)該標(biāo)準(zhǔn)化)        2
第1條 在高警告級(jí)別干凈利落地進(jìn)行編譯        4
第2條 使用自動(dòng)構(gòu)建系統(tǒng)        7
第3條 使用版本控制系統(tǒng)        8
第4條 在代碼審查上投入        9
設(shè)計(jì)風(fēng)格        11
第5條 一個(gè)實(shí)體應(yīng)該只有一個(gè)緊湊的職責(zé)        12
第6條 正確、簡單和清晰第一        13
第7條 編程中應(yīng)知道何時(shí)和如何考慮可伸縮性        14
第8條 不要進(jìn)行不成熟的優(yōu)化        16
第9條 不要進(jìn)行不成熟的劣化        18
第10條 盡量減少全局和共享數(shù)據(jù)        19
第11條 隱藏信息        20
第12條 懂得何時(shí)和如何進(jìn)行并發(fā)性編程        21
第13條 確保資源為對象所擁有。使用顯式的RAII和智能指針        24
編程風(fēng)格        27
第14條 寧要編譯時(shí)和連接時(shí)錯(cuò)誤,也不要運(yùn)行時(shí)錯(cuò)誤        28
第15條 積極使用const        30
第16條 避免使用宏        32
第17條 避免使用“魔數(shù)”        34
第18條 盡可能局部地聲明變量        35
第19條 總是初始化變量        36
第20條 避免函數(shù)過長,避免嵌套過深        38
第21條 避免跨編譯單元的初始化依賴        39
第22條 盡量減少定義性依賴。避免循環(huán)依賴        40
第23條 頭文件應(yīng)該自給自足        42
第24條 總是編寫內(nèi)部#include保護(hù)符,決不要編寫外部#include保護(hù)符        43
函數(shù)與操作符        45
第25條 正確地選擇通過值、(智能)指針或者引用傳遞參數(shù)        46
第26條 保持重載操作符的自然語義        47
第27條 優(yōu)先使用算術(shù)操作符和賦值操作符的標(biāo)準(zhǔn)形式        48
第28條 優(yōu)先使用++和- -的標(biāo)準(zhǔn)形式。優(yōu)先調(diào)用前綴形式        50
第29條 考慮重載以避免隱含類型轉(zhuǎn)換        51
第30條 避免重載&&、||或 ,(逗號(hào))        52
第31條 不要編寫依賴于函數(shù)參數(shù)求值順序的代碼        54
類的設(shè)計(jì)與繼承        55
第32條 弄清所要編寫的是哪種類        56
第33條 用小類代替巨類        57
第34條 用組合代替繼承        58
第35條 避免從并非要設(shè)計(jì)成基類的類中繼承        60
第36條 優(yōu)先提供抽象接口        62
第37條 公用繼承即可替換性。繼承,不是為了重用,而是為了被重用        64
第38條 實(shí)施安全的改寫        66
第39條 考慮將虛擬函數(shù)聲明為非公用的,將公用函數(shù)聲明為非虛擬的        68
第40條 要避免提供隱式轉(zhuǎn)換        70
第41條 將數(shù)據(jù)成員設(shè)為私有的,無行為的聚集(C語言形式的struct)除外        72
第42條 不要公開內(nèi)部數(shù)據(jù)        74
第43條 明智地使用Pimpl        76
第44條 優(yōu)先編寫非成員非友元函數(shù)        79
第45條 總是一起提供new和delete        80
第46條 如果提供類專門的new,應(yīng)該提供所有標(biāo)準(zhǔn)形式(普通、就地和不拋出)        82
構(gòu)造、析構(gòu)與復(fù)制        85
第47條 以同樣的順序定義和初始化成員變量        86
第48條 在構(gòu)造函數(shù)中用初始化代替賦值        87
第49條 避免在構(gòu)造函數(shù)和析構(gòu)函數(shù)中調(diào)用虛擬函數(shù)        88
第50條 將基類析構(gòu)函數(shù)設(shè)為公用且虛擬的,或者保護(hù)且非虛擬的        90
第51條 析構(gòu)函數(shù)、釋放和交換絕對不能失敗        92
第52條 一致地進(jìn)行復(fù)制和銷毀        94
第53條 顯式地啟用或者禁止復(fù)制        95
第54條 避免切片。在基類中考慮用克隆代替復(fù)制        96
第55條 使用賦值的標(biāo)準(zhǔn)形式        99
第56條 只要可行,就提供不會(huì)失敗的swap(而且要正確地提供)        100
名字空間與模塊        103
第57條 將類型及其非成員函數(shù)接口置于同一名字空間中        104
第58條 應(yīng)該將類型和函數(shù)分別置于不同的名字空間中,除非有意想讓它們
一起工作        106
第59條 不要在頭文件中或者#include之前編寫名字空間using        108
第60條 要避免在不同的模塊中分配和釋放內(nèi)存        111
第61條 不要在頭文件中定義具有鏈接的實(shí)體        112
第62條 不要允許異常跨越模塊邊界傳播        114
第63條 在模塊的接口中使用具有良好可移植性的類型        116
模板與泛型        119
第64條 理智地結(jié)合靜態(tài)多態(tài)性和動(dòng)態(tài)多態(tài)性        120
第65條 有意地進(jìn)行顯式自定義        122
第66條 不要特化函數(shù)模板        126
第67條 不要無意地編寫不通用的代碼        128
錯(cuò)誤處理與異常        129
第68條 廣泛地使用斷言記錄內(nèi)部假設(shè)和不變式        130
第69條 建立合理的錯(cuò)誤處理策略,并嚴(yán)格遵守        132
第70條 區(qū)別錯(cuò)誤與非錯(cuò)誤        134
第71條 設(shè)計(jì)和編寫錯(cuò)誤安全代碼        137
第72條 優(yōu)先使用異常報(bào)告錯(cuò)誤        140
第73條 通過值拋出,通過引用捕獲        144
第74條 正確地報(bào)告、處理和轉(zhuǎn)換錯(cuò)誤        145
第75條 避免使用異常規(guī)范        146
STL:容器        149
第76條 默認(rèn)時(shí)使用vector。否則,選擇其他合適的容器        150
第77條 用vector和string代替數(shù)組        152
第78條 使用vector(和string::c_str)與非C++ API交換數(shù)據(jù)        153
第79條 在容器中只存儲(chǔ)值和智能指針        154
第80條 用push_back代替其他擴(kuò)展序列的方式        155
第81條 多用范圍操作,少用單元素操作        156
第82條 使用公認(rèn)的慣用法真正地壓縮容量,真正地刪除元素        157
STL:算法        159
第83條 使用帶檢查的STL實(shí)現(xiàn)        160
第84條 用算法調(diào)用代替手工編寫的循環(huán)        162
第85條 使用正確的STL查找算法        165
第86條 使用正確的STL排序算法        166
第87條 使謂詞成為純函數(shù)        168
第88條 算法和比較器的參數(shù)應(yīng)多用函數(shù)對象少用函數(shù)        170
第89條 正確編寫函數(shù)對象        172
類型安全        173
第90條 避免使用類型分支,多使用多態(tài)        174
第91條 依賴類型,而非其表示方式        176
第92條 避免使用reinterpret_cast        177
第93條 避免對指針使用static_cast        178
第94條 避免強(qiáng)制轉(zhuǎn)換const        179
第95條 不要使用C風(fēng)格的強(qiáng)制轉(zhuǎn)換        180
第96條 不要對非POD進(jìn)行memcpy操作或者memcmp操作        182
第97條 不要使用聯(lián)合重新解釋表示方式        183
第98條 不要使用可變長參數(shù)(...)        184
第99條 不要使用失效對象。不要使用不安全函數(shù)        185
第100條 不要多態(tài)地處理數(shù)組        186
參考文獻(xiàn)        187
摘要匯總        193
索引        205

本目錄推薦

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