C++代碼整潔之道:C++17可持續軟件開發模式實踐

C++代碼整潔之道:C++17可持續軟件開發模式實踐 pdf epub mobi txt 电子书 下载 2025

[德] 斯提芬·羅特
圖書標籤:
想要找书就要到 求知書站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
译者序
关于作者
关于技术审校
致谢
第1章 简介1
1.1 软件熵2
1.2 整洁的代码4
1.3 为什么使用C 4
1.4 C 11—新时代的开始5
1.5 适合本书的读者5
1.6 本书使用的约定6
1.6.1 扩展阅读6
1.6.2 说明、提示和警告6
1.6.3 示例代码7
1.6.4 编码风格7
1.7 相关网站和代码库7
1.8 UML图8
第2章 构建安全体系9
2.1 测试的必要性9
2.2 测试入门11
2.3 单元测试13
2.4 关于QA15
2.5 良好的单元测试原则16
2.5.1 单元测试的代码的质量16
2.5.2 单元测试的命名16
2.5.3 单元测试的独立性17
2.5.4 一个测试一个断言18
2.5.5 单元测试环境的独立初始化19
2.5.6 不对getters和setters做单元测试19
2.5.7 不对第三方代码做单元测试20
2.5.8 不对外部系统做单元测试20
2.5.9 如何处理数据库的访问20
2.5.10 不要混淆测试代码和产品代码21
2.5.11 测试必须快速执行23
2.5.12 测试替身24
第3章 原则27
3.1 什么是原则27
3.2 保持简单和直接原则(KISS)28
3.3 不需要原则(YAGNI)29
3.4 避免复制原则(DRY)29
3.5 信息隐藏原则30
3.6 高内聚原则33
3.7 松耦合原则35
3.8 小心优化原则38
3.9 最少惊讶原则(PLA)39
3.10 童子军原则39
第4章 C 代码整洁的基本规范41
4.1 良好的命名42
4.1.1 名称应该自解释43
4.1.2 使用域中的名称45
4.1.3 选择适当抽象层次的名称45
4.1.4 避免冗余的名称46
4.1.5 避免晦涩难懂的缩写47
4.1.6 避免匈牙利命名和命名前缀47
4.1.7 避免相同的名称用于不同的目的48
4.2 注释49
4.2.1 让写代码像讲故事一样49
4.2.2 不要为易懂的代码写注释50
4.2.3 不要通过注释禁用代码50
4.2.4 不要写块注释51
4.2.5 特殊情况的注释是有用的53
4.3 函数56
4.3.1 只做一件事情59
4.3.2 让函数尽可能小59
4.3.3 函数命名61
4.3.4 使用容易理解的名称61
4.3.5 函数的参数和返回值62
4.4 C 工程中的C风格代码72
4.4.1 使用C 的string和stream替代C风格的char*73
4.4.2 避免使用printf()、sprintf()和gets()等74
4.4.3 使用标准库的容器而不是C风格的数组77
4.4.4 用C 类型转换代替C风格的强制转换80
4.4.5 避免使用宏81
第5章 现代C 的高级概念83
5.1 资源管理84
5.1.1 资源申请即初始化85
5.1.2 智能指针86
5.1.3 避免显式的new和delete92
5.1.4 管理特有资源92
5.2 Move语义94
5.2.1 什么是Move语义94
5.2.2 左值和右值的关系95
5.2.3 右值引用96
5.2.4 不要滥用Move97
5.2.5 零原则98
5.3 编译器是你的搭档102
5.3.1 自动类型推导102
5.3.2 编译时计算105
5.3.3 模板变量107
5.4 不允许未定义的行为108
5.5 Type-Rich编程110
5.6 了解你使用的库116
5.6.1 熟练使用116
5.6.2 熟练使用Boost121
5.6.3 应该了解的一些库121
5.7 恰当的异常和错误处理机制122
5.7.1 防患于未然123
5.7.2 异常即异常—字面上的意思126
5.7.3 如果不能恢复则尽快退出128
5.7.4 用户自定义异常128
5.7.5 值类型抛出,常量引用类型捕获130
5.7.6 注意catch的正确顺序130
第6章 面向对象131
6.1 面向对象思想132
6.2 抽象—解决复杂问题的关键因素133
6.3 类的设计原则134
6.3.1 让类尽可能小134
6.3.2 单一职责原则(SRP)135
6.3.3 开闭原则(OCP)135
6.3.4 里氏替换原则(LSP)136
6.3.5 接口隔离原则(ISP)146
6.3.6 无环依赖原则148
6.3.7 依赖倒置原则(DIP)151
6.3.8 不要和陌生人说话(迪米特法则)156
6.3.9 避免“贫血类”160
6.3.10 只说不问160
6.3.11 避免类的静态成员162
第7章 函数式编程164
7.1 什么是函数式编程165
7.1.1 什么是函数166
7.2.2 pure函数和impure函数167
7.2 现代C 中的函数式编程168
7.2.1 C 模板函数编程168
7.2.2 仿函数170
7.2.3 绑定和函数包装176
7.2.4 Lambda表达式178
7.2.5 通用Lambda表达式(C 14)180
7.3 高阶函数181
7.4 整洁的函数式编程代码186
第8章 测试驱动开发188
8.1 普通的旧单元测试的缺点189
8.2 测试驱动开发作为颠覆者190
8.2.1 TDD的流程190
8.2.2 TDD的一个小例子:Code Kata193
8.3 TDD的优势210
8.4 什么时候不应该使用TDD212
第9章 设计模式和习惯用法213
9.1 设计原则与设计模式214
9.2 常见的设计模式及应用场景214
9.2.1 依赖注入模式215
9.2.2 Adapter模式226
9.2.3 Strategy模式227
9.2.4 Command模式231
9.2.5 Command处理器模式235
9.2.6 Composite模式238
9.2.7 Observer模式241
9.2.8 Factory模式245
9.2.9 Facade模式248
9.2.10 Money Class模式249
9.2.11 特例模式252
9.3 什么是习惯用法255
附录A UML简要指南266
参考文献275
· · · · · · (收起)

具体描述

使用現代C 編寫可維護、可擴展和持久的軟件。對於每一個對好的C 代碼感興趣的開發人員、軟件架構師或團隊領導來說,這本書都是必須的,因此也想節省開發成本。如果你想自學編寫整潔C 代碼,本書正是你所需要的。編寫它是為瞭幫助所有級彆的C 開發人員,並通過示例展示如何編寫可理解的、靈活的、可維護的和高效的C 代碼。即使是經驗豐富的C 開發人員,在本書中也會發現一些有用的信息和數據。

用户评价

评分

评分

除了现代C++概念之外其他的都还不错。

评分

评分

评分

评分

##C++17的内容不多;一些观点确实冲击了我的认识

评分

评分

##非常牛逼,现代C++你不读?

评分

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有