展开全部

主编推荐语

本书分享的实用技巧可以帮助你编写可靠且易于团队成员理解和适应不断变化需求的代码。

内容简介

全书内容涉及如何像高效的软件工程师一样思考代码,如何编写读起来像一个结构良好的句子的函数,如何确保代码可靠且无错误,如何进行有效的单元测试,如何识别可能导致问题的代码并对其进行改进,如何编写可重用并适应新需求的代码,如何提高读者的中长期生产力,同时还介绍了如何节省开发人员及团队的宝贵时间,等等。

目录

  • 版权信息
  • 版权声明
  • 内容提要
  • 序言
  • 前言
  • 作者简介
  • 封面简介
  • 资源与支持
  • 第一部分 理论
  • 第1章 代码质量
  • 1.1 代码如何变成软件
  • 1.2 代码质量目标
  • 1.3 代码质量的支柱
  • 1.4 编写高质量代码是否会拖慢进度
  • 1.5 小结
  • 第2章 抽象层次
  • 2.1 空值和本书中的伪代码惯例
  • 2.2 为什么要创建抽象层次
  • 2.3 代码层次
  • 2.4 微服务简介
  • 2.5 小结
  • 第3章 其他工程师与代码契约
  • 3.1 你的代码和其他工程师的代码
  • 3.2 其他人如何领会你的代码的使用方法
  • 3.3 代码契约
  • 3.4 检查和断言
  • 3.5 小结
  • 第4章 错误
  • 4.1 可恢复性
  • 4.2 鲁棒性与故障
  • 4.3 错误报告方式
  • 4.4 报告不可恢复的错误
  • 4.5 报告调用者可能想要从中恢复的错误
  • 4.6 不要忽视编译器警告
  • 4.7 小结
  • 第二部分 实践
  • 第5章 编写易于理解的代码
  • 5.1 使用描述性名称
  • 5.2 适当使用注释
  • 5.3 不要执着于代码行数
  • 5.4 坚持一致的编程风格
  • 5.5 避免深嵌套代码
  • 5.6 使函数调用易于理解
  • 5.7 避免使用未做解释的值
  • 5.8 正确使用匿名函数
  • 5.9 正确使用新奇的编程语言特性
  • 5.10 小结
  • 第6章 避免意外
  • 6.1 避免返回魔法值
  • 6.2 正确使用空对象模式
  • 6.3 避免造成意料之外的副作用
  • 6.4 谨防输入参数突变
  • 6.5 避免编写误导性的函数
  • 6.6 永不过时的枚举处理
  • 6.7 我们不能只用测试解决所有此类问题吗
  • 6.8 小结
  • 第7章 编写难以被误用的代码
  • 7.1 考虑不可变对象
  • 7.2 考虑实现深度不可变性
  • 7.3 避免过于通用的类型
  • 7.4 处理时间
  • 7.5 拥有单一可信数据源
  • 7.6 拥有单一可信逻辑来源
  • 7.7 小结
  • 第8章 实现代码模块化
  • 8.1 考虑使用依赖注入
  • 8.2 倾向于依赖接口
  • 8.3 注意类的继承
  • 8.4 类应该只关心自身
  • 8.5 将相关联的数据封装在一起
  • 8.6 防止在返回类型中泄露实现细节
  • 8.7 防止在异常中泄露实现细节
  • 8.8 小结
  • 第9章 编写可重用、可推广的代码
  • 9.1 注意各种假设
  • 9.2 注意全局状态
  • 9.3 恰当地使用默认返回值
  • 9.4 保持函数参数的集中度
  • 9.5 考虑使用泛型
  • 9.6 小结
  • 第三部分 单元测试
  • 第10章 单元测试原则
  • 10.1 单元测试入门
  • 10.2 是什么造就好的单元测试
  • 10.3 专注于公共API,但不要忽略重要的行为
  • 10.4 测试替身
  • 10.5 挑选测试思想
  • 10.6 小结
  • 第11章 单元测试实践
  • 11.1 测试行为,而不仅仅是函数
  • 11.2 避免仅为了测试而使所有细节可见
  • 11.3 一次测试一个行为
  • 11.4 恰当地使用共享测试配置
  • 11.5 使用合适的断言匹配器
  • 11.6 使用依赖注入来提高可测试性
  • 11.7 关于测试的一些结论
  • 11.8 小结
  • 附录A 巧克力糕饼食谱
  • 附录B 空值安全与可选类型
  • 附录C 额外的代码示例
展开全部

评分及书评

4.3
4个评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。