Alan Shalloway、Scott Bain、Ken Pugh、Amir Kolsky所著的《敏捷技能修炼(敏捷软件开发与设计的最佳实践)》围绕意图导向编程、分离构造和使用、测试先行、Shalloway原则、面向接口设计、测试驱动开发、避免过度设计、持续集成、共性和可变性分析、重构等核心技术主题给出了大量最佳实践,字字珠玑。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 敏捷技能修炼(敏捷软件开发与设计的最佳实践)/华章程序员书库 |
分类 | |
作者 | (美)沙洛维 |
出版社 | 机械工业出版社 |
下载 | ![]() |
简介 | 编辑推荐 Alan Shalloway、Scott Bain、Ken Pugh、Amir Kolsky所著的《敏捷技能修炼(敏捷软件开发与设计的最佳实践)》围绕意图导向编程、分离构造和使用、测试先行、Shalloway原则、面向接口设计、测试驱动开发、避免过度设计、持续集成、共性和可变性分析、重构等核心技术主题给出了大量最佳实践,字字珠玑。 内容推荐 Alan Shalloway、Scott Bain、Ken Pugh、Amir Kolsky所著的《敏捷技能修炼(敏捷软件开发与设计的最佳实践)》的4位作者都是世界顶级的软件开发专家和敏捷导师,都有数十年的软件行业从业经验,其中3位曾荣获Jolt大奖。本书是敏捷软件开发领域公认的经典著作,权威性毋庸置疑。 《敏捷技能修炼(敏捷软件开发与设计的最佳实践)》中内容围绕“敏捷式编程”这一主题展开,对每一位敏捷软件开发人员都应该掌握的核心技能和技术进行了深入阐述,总结出了大量最佳实践,提供了一整套最精炼的技术集合,可以帮助他们在开发中变得游刃有余,极大地提高开发效率和软件质量。 全书共分四个部分:第一部分(1~7章),阐述了在软件开发过程中能起到“四两拨千斤”作用的几种思想方法(“小舵板”),如意图导向编程、分离构造和使用、测试先行和Shalloway原则等,并总结了业界常用的几种实践,包括如何封装、面向接口的设计和验收测试驱动等;第二部分(8~9章),对过度设计和持续集成这两个问题进行了深入的探讨,并给出了最佳实践;第三部分(10~13章),作者分享了很多只有在他们的教学现场才能获得的经验,这些经验是优秀架构师应该具备的,具体包括共性和可变性分析、以开放关闭原则为目标的重构、需求与功能接口、何时以及如何使用继承等重要内容;第四部分是附录,介绍了统一建模语言、提高代码质量的原则,以及如何封装原始数据类型等。 目录 推荐序 译者序 丛书前言 前言 致谢 第一部分 最关键的小舵板 第1章 意图导向编程 1.1 意图导向编程:一个实例 1.2 优点 1.2.1 方法的内聚性 1.2.2 可读性和表达性 1.2.3 调试 1.2.4 重构和增强 1.2.5 单元测试 1.2.6 更易修改和扩展 1.2.7 在代码中发现模式 1.2.8 可迁移的方法 1.3 小结 第2章 分离构造和使用 2.1 一个重要的问题 2.2 两种视图 2.2.1 创建视图 2.2.2 使用视图 2.2.3 隐藏的部分更容易改动 2.2.4 现实的做法 2.2.5 一些实际的考量因素 2.3 给你的决策计时 2.4 重载和C++ 2.5 自我查验 2.6 小结 第3章 代码未动,测试先行 3.1 一个小舵板:测试与可测试性 3.2 什么是测试 3.3 可测试性和代码质量 3.4 案例学习:可测试性 3.4.1 随时应对变化 3.4.2 青蛙一样的程序员 3.5 一个关于测试先行的思考 3.5.1 更好的设计 3.5.2 更清晰的范围和避免不必要的工作 3.5.3 降低复杂性 3.5.4 其他优势 3.5.5 没有例外 3.6 小结 第4章 Shalloway法则和Shalloway原则 4.1 冗余的种类 4.1.1 复制和粘贴 4.1.2 “魔法”数字 4.1.3 其他类型 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 用get()来打破封装 5.7 对象类型的封装 5.8 设计的封装 5.9 各个层次的封装 5.10 实用性建议:把困难封装起来 5.11 小结 第6章 面向接口的设计 6.1 针对接口的设计 6.2 接口的定义 6.3 接口约定 6.4 分离不同的视图 6.5 接口的模拟实现 6.6 让接口保持简单 6.7 避免过早采用继承体系 6.8 接口和抽象类 6.9 依赖反转原则 6.10 多态性概述 6.11 不是每个类都需要接口 6.12小结 第7章 验收测试驱动开发 7.1 两种开发流程 7.2 验收测试 7.3 一个关于验收测试的实例 7.4 实现验收测试 7.4.1 针对用户界面的测试脚本 7.4.2 测试用户界面 7.4.3 XUnit测试 7.4.4 验收测试框架 7.4.5 四种方法间的联系 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.1.1 多版本:特殊分支 9.1.2 孤立地工作:开发分支 9.1.3 问题、解决方案、新的问题 9.2 将主干内容合并回分支 9.3 测试驱动开发与合并成本 9.4 持续集成 9.5 持续集成服务器 9.6 小结 第三部分 设计问题 第10章 共性和可变性分析 10.1 用动词和名词来做指南:警告,前面有危险 10.2 真正的问题是什么 10.3 我们所需要知道的 10.4 共性和可变性分析 10.4.1 共性分析 10.4.2 可变性分析 10.4.3 面向对象设计“一箭三雕” 10.5 发掘对象的新范式 10.6 分析矩阵:一个用例学习 10.7 小结 第11章 以开放关闭原则为目标的重构 11.1 开放关闭原则 11.1.1 从开放关闭原则引申到其他 11.1.2 开放关闭原则是一个“原则” 11.2 重构 11.2.1 为何重构 11.2.2 负债还是投资 11.2.3 重构和遗留系统 11.2.4 以开放关闭原则为目标的重构 11.2.5 “及时”设计 11.3 小结 第12章 需求与功能接口 12.1 迪米特法则 12.2 耦合,可恶的耦合,还有依赖 12.2.1 耦合和可测试性 12.2.2 需求与功能 12.3 理想的分离方案:需求接口和功能接口 12.4 回到迪米特法则 12.5 小结 第13章 何时以及如何使用继承 13.1 “四人组” 13.2 初始向量,最终结果 13.3 优先委托 13.4 使用继承与使用委托 13.5 继承的使用 13.6 可扩展性 13.7 在敏捷开发里应用四人组的训诫 13.8 测试问题 13.9 更多 第四部分 附录 附录A 统一建模语言概览 附录B 代码质量 附录C 封装原始数据类型 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。