《敏捷技能修炼:敏捷软件开发与设计的最佳实践》
基本信息
原书名:Essential Skills for the Agile Developer:A Guide to Better Programming and Design
作者: (美)Alan Shalloway Scott Bain Ken Pugh Amir Kolsky [作译者介绍]
译者: 郑立 邹骏 黄灵
出版社:机械工业出版社
ISBN:9787111395270
上架时间:2012-8-25
出版日期:2012 年8月
开本:16开
页码:1
版次:1-1
所属分类: 计算机 > 软件工程及软件方法学 > 软件项目管理
计算机 > 软件与程序设计 > 综合 > 高级程序语言设计
更多关于》》》《敏捷技能修炼:敏捷软件开发与设计的最佳实践》
内容简介
书籍
计算机书籍
《敏捷技能修炼:敏捷软件开发与设计的最佳实践》的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.3xunit测试
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封装原始数据类型
本图书信息来源于:中国互动出版网
分享到:
相关推荐
敏捷技能修炼 敏捷软件开发与设计的最佳实践
敏捷技能修炼 敏捷软件开发与设计的最佳实践
《敏捷技能修炼:敏捷软件开发与设计的最佳实践》是由Alan Shalloway、Scott Bain、Ken Pugh和Amir Kolsky四位世界顶级软件开发专家和敏捷导师共同编著的一本经典著作。本书深入探讨了敏捷开发的核心理念和技术实践...
敏捷软件开发书籍合集,包括: [Scrum敏捷软件开发] [The.Pragmatic.Bookshelf开发丛书-敏捷开发回顾:使团队更强大] [The.Pragmatic.Bookshelf开发丛书-敏捷开发指导] [敏捷开发修炼之道] [用户故事与敏捷方法]
在软件开发过程中,敏捷开发已成为主流的开发方法。敏捷强调对变化的快速响应,提倡短周期的迭代开发,以及持续集成和交付。敏捷开发修炼之道强调在开发过程中要持续关注变化、跟踪技术发展趋势,并且要培养团队协作...
测试驱动开发(TDD)是一种敏捷软件开发技术,它要求开发者在编写功能代码之前先编写测试代码。这种方法提倡先写失败的单元测试,然后编写刚好足够使测试通过的代码,最后通过重构来提高代码的质量。王晓毅所著的...
在软件开发领域,敏捷开发是一种强调迭代、快速响应变化和高度协作的方法论。它提倡灵活应对需求变化,通过短周期的迭代和增量式交付,以提高团队效率和客户满意度。"敏捷开发修炼之道"这一主题旨在探讨如何通过实践...
因此,敏捷对于软件开发组织是一个必然的选择,而非一个可有可无选项。但如何正确实施敏捷,从而构建灵活响应的组织,却绝非易事,需要在实践中不断总结、提高,同时也更需要从大师们的敏捷实践中获取宝贵经验。作者...
TDD,即Test-Driven Development,是一种软件开发方法论,强调先编写测试用例,再编写满足这些测试用例的代码,从而确保代码质量。该书在内容上注重实践与理论相结合,为读者提供了一个清晰的TDD学习路径。 在TDD的...
《修炼之道:互联网产品从设计到运营》这本书深入探讨了互联网产品的全生命周期,从概念的孕育、设计的创新、开发的实施,到运营的策略,全方位解析了打造成功互联网产品所需的各个环节。以下是对这些关键知识点的...
最后,"原创文章-敏捷开发基础(全).pdf"和"敏捷软件开发模型—Scrum.pdf"可能分别提供了敏捷开发的基础知识和Scrum框架的深度解析。Scrum是敏捷开发中最广泛采用的一种框架,包括角色(产品负责人、开发团队、 Scrum...
本书简明实用、见解深刻,总结了高效程序员在开发过程中的45个个人习惯、思想观念和方法,有助于开发人员在开发进程、编码工作、开发者态度、项目和团队管理,以及持续学习等5个方面积极修炼。通过学习这些内容,...
通过以上三个方面——**未雨绸缪的单元及自动化测试**、**结构化、敏捷以及平衡式的开发迁移**、**软件开发和重构设计**的深入探讨,《测试驱动开发的3项修炼:走出TDD丛林》不仅提供了一套完整的TDD实践指南,更为...
- 《敏捷软件开发:原则、模式与实践》(Robert C. Martin著)讲述了敏捷开发的理念和实践。《团队的智慧》(Patrick Lencioni著)则关注团队协作和管理。 10. 程序员职业修炼: - 《程序员修炼之道》(Andrew ...
10. **法律法规与职业道德**:理解软件开发相关的法律法规,如知识产权、合同法,以及软件设计师的职业道德和行业规范。 11. **新技术与趋势**:关注云计算、大数据、人工智能等新兴技术及其在软件设计中的应用。 ...
- 《敏捷软件开发:原则、模式与实践》:了解敏捷开发方法和Scrum框架。 10. 程序员职业修炼: - 《程序员修炼之道》:提供职业发展建议,提高解决问题的能力。 - 《软技能:代码之外的生存指南》:探讨职业规划...
测试驱动开发(Test-...总结来说,《测试驱动开发的三项修炼——走出TDD丛林》这本书旨在帮助开发者掌握TDD的精髓,通过系统性的学习和实践,提高软件开发的质量和效率,从而在复杂的软件开发丛林中找到清晰的方向。