展开全部

主编推荐语

1个示例,7次重构,助你辨别优劣代码。

内容简介

本书的核心思想是通过对各方面的代码质量进行比较,使读者了解经验丰富的开发者拥有的思维模式。

为了展示软件开发最佳实践,作者对一个水容器示例进行多次重构,讨论了18种实现,分别从7个方面改进代码质量:时间效率、空间效率、监控与可靠性、测试与可靠性、可读性、线程安全、可复用性。在此过程中,作者还探讨了与计算机科学、Java编程以及软件工程相关的专业话题,这些知识都有助于读者写出更好的代码。

本书面向初级和中级Java程序员,其他面向对象编程人员也能从中受益。

目录

  • 版权信息
  • 前言
  • 致谢
  • 关于本书
  • 关于封面
  • 第一部分 准备工作
  • 第1章 软件质量和待解决问题
  • 1.1 软件质量
  • 1.2 主要的外部软件质量
  • 1.3 主要的内部软件质量
  • 1.4 软件质量之间的关系
  • 1.5 特殊的质量
  • 1.6 演进示例:水容器系统
  • 1.7 数据的模型和表示
  • 1.8 你好,容器(Novice)
  • 1.9 小结
  • 1.10 扩展阅读
  • 第2章 Reference的实现
  • 2.1 代码(Reference)
  • 2.2 内存需求
  • 2.3 时间复杂度
  • 2.4 学以致用
  • 2.5 小结
  • 2.6 小测验答案和练习答案
  • 2.7 扩展阅读
  • 第二部分 软件质量
  • 第3章 速度的要求:时间效率
  • 3.1 常数时间内完成加水(Speed1)
  • 3.2 常数时间内添加连接(Speed2)
  • 3.3 最好的平衡:并查集算法(Speed3)
  • 3.4 比较各种实现
  • 3.5 来点儿新鲜的
  • 3.6 真实世界的用例
  • 3.7 学以致用
  • 3.8 小结
  • 3.9 小测验答案和练习答案
  • 3.10 扩展阅读
  • 第4章 宝贵的内存:空间效率
  • 4.1 稍微挤一下(Memory1)
  • 4.2 普通数组(Memory2)
  • 4.3 弃用对象(Memory3)
  • 4.4 黑洞(Memory4)
  • 4.5 空间和时间的权衡
  • 4.6 来点儿新鲜的
  • 4.7 真实世界的用例
  • 4.8 学以致用
  • 4.9 小结
  • 4.10 小测验答案和练习答案
  • 4.11 扩展阅读
  • 第5章 有自我意识的代码:通过监控实现可靠性
  • 5.1 契约式设计
  • 5.2 基于契约设计水容器
  • 5.3 检查契约的容器(Contracts)
  • 5.4 检查不变式的容器(Invariants)
  • 5.5 来点儿新鲜的
  • 5.6 真实世界的用例
  • 5.7 学以致用
  • 5.8 小结
  • 5.9 小测验答案和练习答案
  • 5.10 扩展阅读
  • 第6章 别对我撒谎:通过测试保证可靠性
  • 6.1 测试的基本概念
  • 6.2 测试水容器(UnitTests)
  • 6.3 可测试性(Testable)
  • 6.4 来点儿新鲜的
  • 6.5 真实世界的用例
  • 6.6 学以致用
  • 6.7 小结
  • 6.8 小测验答案和练习答案
  • 6.9 扩展阅读
  • 第7章 让代码说话:可读性
  • 7.1 关于可读性的一些观点
  • 7.2 结构性的可读性特征
  • 7.3 外部可读性特征
  • 7.4 可读的容器(Readable)
  • 7.5 可读性的终极思考
  • 7.6 来点儿新鲜的
  • 7.7 真实世界的用例
  • 7.8 学以致用
  • 7.9 小结
  • 7.10 小测验答案和练习答案
  • 7.11 扩展阅读
  • 第8章 多个厨师一锅饭:线程安全
  • 8.1 线程安全面临的挑战
  • 8.2 处理死锁
  • 8.3 线程安全的水容器(ThreadSafe)
  • 8.4 不可变性(Immutable)
  • 8.5 来点儿新鲜的
  • 8.6 真实世界的用例
  • 8.7 学以致用
  • 8.8 小结
  • 8.9 小测验答案和练习答案
  • 8.10 扩展阅读
  • 第9章 请重复利用:可复用性
  • 9.1 确立边界
  • 9.2 通用框架
  • 9.3 一个通用容器的实现
  • 9.4 通用的考虑
  • 9.5 复原水容器(Generic)
  • 9.6 社交网络的帖子
  • 9.7 来点儿新鲜的
  • 9.8 真实世界的用例
  • 9.9 学以致用
  • 9.10 总结
  • 9.11 小测验答案和练习答案
  • 9.12 扩展阅读
  • 附录A 代码高尔夫:简洁性
  • A.1 我能想到的最短代码(Golfing)
  • A.2 扩展阅读
  • 附录B 终极水容器类
  • B.1 提高可读性
  • B.2 提高可靠性
  • 列表:每一章中主要的类
  • 作者简介
展开全部

评分及书评

评分不足
2个评分

出版方

人民邮电出版社

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