注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C++20代碼整潔之道:可持續(xù)軟件開發(fā)模式實(shí)踐(原書第2版)

C++20代碼整潔之道:可持續(xù)軟件開發(fā)模式實(shí)踐(原書第2版)

C++20代碼整潔之道:可持續(xù)軟件開發(fā)模式實(shí)踐(原書第2版)

定 價(jià):¥129.00

作 者: [德]斯蒂芬·羅斯(Stephan Roth)
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787111725268 出版時(shí)間: 2023-05-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書全面更新至C20,介紹如何使用現(xiàn)代C編寫可維護(hù)、可擴(kuò)展和可持久的軟件。對于每一個(gè)對編寫整潔的C代碼感興趣的開發(fā)人員、軟件架構(gòu)師或團(tuán)隊(duì)領(lǐng)導(dǎo)來說,這本書都是必需的。如果你想自學(xué)編寫整潔的C代碼,本書也正是你需要的。本書旨在幫助所有級別的C開發(fā)人員編寫可理解的、靈活的、可維護(hù)的和高效的C代碼。即使是經(jīng)驗(yàn)豐富的C開發(fā)人員,也將受益匪淺。

作者簡介

暫缺《C++20代碼整潔之道:可持續(xù)軟件開發(fā)模式實(shí)踐(原書第2版)》作者簡介

圖書目錄

第1章 引言1
1.1 軟件熵2
1.2 為什么使用C 3
1.3 整潔的代碼4
1.4 C 11—新時(shí)代的開始5
1.5 本書適合的讀者6
1.6 本書使用的約定6
1.6.1 擴(kuò)展內(nèi)容7
1.6.2 注意事項(xiàng)、提示和警告7
1.6.3 示例代碼7
1.7 相關(guān)網(wǎng)站和代碼庫8
1.8 UML圖9
第2章 構(gòu)建安全體系10
2.1 測試的必要性10
2.2 測試入門12
2.3 單元測試14
2.4 關(guān)于質(zhì)量保證16
2.5 良好單元測試的原則16
2.5.1 單元測試代碼的質(zhì)量16
2.5.2 單元測試的命名17
2.5.3 單元測試的獨(dú)立性18
2.5.4 一個(gè)測試一個(gè)斷言19
2.5.5 單元測試環(huán)境的獨(dú)立初始化20
2.5.6 不對Getter和Setter做單元測試20
2.5.7 不對第三方代碼做單元測試21
2.5.8 不對外部系統(tǒng)做單元測試21
2.5.9 如何處理數(shù)據(jù)庫的訪問21
2.5.10 不要混淆測試代碼和產(chǎn)品代碼22
2.5.11 測試必須快速執(zhí)行24
2.5.12 如何設(shè)計(jì)測試的輸入數(shù)據(jù)25
2.5.13 測試替身27
第3章 原則31
3.1 什么是原則31
3.2 保持簡單和直接原則32
3.3 不需要原則33
3.4 避免復(fù)制原則33
3.4.1 關(guān)于避免復(fù)制原則的知識34
3.4.2 構(gòu)建抽象有時(shí)很困難34
3.5 信息隱藏原則37
3.6 高內(nèi)聚原則40
3.7 松耦合原則42
3.8 小心優(yōu)化原則45
3.9 少驚訝原則46
3.10 童子軍原則46
第4章 C 代碼整潔的基本規(guī)范48
4.1 良好的命名49
4.1.1 名稱應(yīng)該不言自明50
4.1.2 使用領(lǐng)域中的名稱52
4.1.3 選擇適當(dāng)抽象級別的名稱53
4.1.4 避免冗余的名稱54
4.1.5 避免晦澀難懂的縮寫54
4.1.6 避免匈牙利命名法和
   命名前綴55
4.1.7 避免相同的名稱用于
   不同的用途57
4.2 注釋57
4.2.1 讓寫代碼像講故事一樣57
4.2.2 不要為易懂的代碼寫注釋58
4.2.3 不要通過注釋禁用代碼59
4.2.4 不要寫塊注釋59
4.2.5 特殊情況的注釋是有用的62
4.3 函數(shù)66
4.3.1 只做一件事情68
4.3.2 讓函數(shù)盡可能小69
4.3.3 函數(shù)命名70
4.3.4 使用容易理解的名稱71
4.3.5 函數(shù)的參數(shù)和返回值72
4.4 C 項(xiàng)目中的C風(fēng)格代碼83
4.4.1 使用C 的string和stream來
   替代C風(fēng)格的char*83
4.4.2 避免使用printf()、sprintf()、
   gets()等85
4.4.3 使用標(biāo)準(zhǔn)庫的容器而不是使用
   C風(fēng)格數(shù)組88
4.4.4 使用C 類型轉(zhuǎn)換代替C風(fēng)格
   類型轉(zhuǎn)換91
4.4.5 避免使用宏92
第5章 現(xiàn)代C 的高級概念95
5.1 資源管理95
5.1.1 資源申請即初始化97
5.1.2 智能指針98
5.1.3 避免顯式的new和delete104
5.1.4 管理專有資源105
5.2 move語義106
5.2.1 什么是move語義107
5.2.2 左值和右值的關(guān)系108
5.2.3 右值引用109
5.2.4 不要濫用move語義111
5.2.5 零原則111
5.3 編譯器是你的搭檔115
5.3.1 自動類型推導(dǎo)116
5.3.2 編譯時(shí)的計(jì)算119
5.3.3 模板變量121
5.4 不允許出現(xiàn)未定義行為123
5.5 Type-Rich編程124
5.6 熟悉使用的庫132
5.6.1 熟練使用133
5.6.2 使用Boost140
5.6.3 應(yīng)該了解的其他庫141
5.7 正確處理異常和錯(cuò)誤142
5.7.1 防患于未然142
5.7.2 從字面上講,例外就是異常146
5.7.3 如果不能恢復(fù),則盡快退出147
5.7.4 用戶自定義異常148
5.7.5 值類型拋出,常量引用類型
   捕獲149
5.7.6 注意catch的正確順序150
5.8 接口設(shè)計(jì)150
5.8.1 Attribute151
5.8.2 concept:模板參數(shù)的要求155
第6章 模塊化編程159
6.1 模塊化的基礎(chǔ)160
6.1.1 模塊設(shè)計(jì)的原則160
6.1.2 小結(jié)162
6.2 面向?qū)ο?63
6.2.1 面向?qū)ο笏枷?64
6.2.2 類的設(shè)計(jì)原則165
6.3 模塊200
6.3.1 #include的缺點(diǎn)200
6.3.2 使用模塊來解決202
6.3.3 底層實(shí)現(xiàn)203
6.3.4 使用模塊的三種方案204
6.3.5 模塊的影響207
第7章 函數(shù)式編程208
7.1 什么是函數(shù)式編程209
7.1.1 什么是函數(shù)210
7.1.2 純函數(shù)和非純函數(shù)211
7.2 現(xiàn)代C 中的函數(shù)式編程212
7.2.1 基于模板的函數(shù)式編程212
7.2.2 仿函數(shù)214
7.2.3 綁定包裝和函數(shù)包裝221
7.2.4 Lambda表達(dá)式223
7.2.5 通用Lambda表達(dá)式225
7.2.6 Lambda模板226
7.3 高級函數(shù)228
7.4 管道與范圍適配器233
7.5 整潔的函數(shù)式編程代碼236
第8章 測試驅(qū)動開發(fā)238
8.1 傳統(tǒng)單元測試的缺點(diǎn)239
8.2 作為顛覆者的測試驅(qū)動開發(fā)240
8.2.1 TDD的流程240
8.2.2 TDD示例:羅馬數(shù)字的

本目錄推薦

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