敏捷技能修炼 敏捷软件开发与设计的最佳实践PDF格式文档图书下载
- 购买点数:9 点
- 作 者:(美)AlanShalloway ScottBain KenPugh AmirKolsky著 郑立 邹骏 黄灵译
- 出 版 社:北京:机械工业出版社
- 出版年份:2012
- ISBN:9787111395270
- 标注页数:186 页
- PDF页数:205 页
第一部分 最关键的小舵板 2
第1章 意图导向编程 2
1.1意图导向编程:一个实例 2
1.2优点 4
1.2.1方法的内聚性 5
1.2.2可读性和表达性 5
1.2.3调试 8
1.2.4重构和增强 9
1.2.5单元测试 11
1.2.6更易修改和扩展 13
1.2.7在代码中发现模式 14
1.2.8可迁移的方法 15
1.3小结 16
第2章 分离构造和使用 17
2.1一个重要的问题 17
2.2两种视图 18
2.2.1创建视图 19
2.2.2使用视图 19
2.2.3隐藏的部分更容易改动 20
2.2.4现实的做法 23
2.2.5一些实际的考量因素 25
2.3给你的决策计时 26
2.4重载和C++ 27
2.5自我查验 27
2.6小结 27
第3章 代码未动,测试先行 29
3.1一个小舵板:测试与可测试性 29
3.2什么是测试 29
3.3可测试性和代码质量 30
3.4案例学习:可测试性 31
3.4.1随时应对变化 32
3.4.2青蛙一样的程序员 32
3.5一个关于测试先行的思考 33
3.5.1更好的设计 35
3.5.2更清晰的范围和避免不必要的工作 35
3.5.3降低复杂性 36
3.5.4其他优势 36
3.5.5没有例外 37
3.6小结 37
第4章Shalloway法则和Shalloway原则 38
4.1冗余的种类 38
4.1.1复制和粘贴 39
4.1.2“魔法”数字 39
4.1.3其他类型 39
4.2重新定义冗余 39
4.3其他形式的冗余 40
4.4设计模式在减少冗余时扮演的角色 41
4.5很少有开发人员花费大量的时间去“修改”代码错误 41
4.6冗余对代码质量其他方面的影响 43
4.7小结 45
第5章 封装 46
5.1未封装的代码:对全局变量的破坏 46
5.2成员标志的封装 47
5.3自封装成员 49
5.4预防代码更改 50
5.5封装引用对象的难点 51
5.6用get()来打破封装 54
5.7对象类型的封装 56
5.8设计的封装 58
5.9各个层次的封装 60
5.10实用性建议:把困难封装起来 61
5.11小结 63
第6章 面向接口的设计 64
6.1针对接口的设计 64
6.2接口的定义 64
6.3接口约定 65
6.4分离不同的视图 66
6.5接口的模拟实现 68
6.6让接口保持简单 68
6.7避免过早采用继承体系 69
6.8接口和抽象类 70
6.9依赖反转原则 71
6.10多态性概述 71
6.11不是每个类都需要接口 72
6.12小结 73
第7章 验收测试驱动开发 74
7.1两种开发流程 74
7.2验收测试 76
7.3一个关于验收测试的实例 77
7.4实现验收测试 78
7.4.1针对用户界面的测试脚本 78
7.4.2测试用户界面 79
7.4.3 XUnit测试 81
7.4.4验收测试框架 81
7.4.5四种方法间的联系 82
7.5一个练习 82
7.6如果客户不告诉你怎么做的时候,你应该怎么办 83
7.7小结 83
第二部分 基本态度 86
第8章 避免过度设计或设计不足 86
8.1给开发人员的箴言 86
8.2代码质量病理学 87
8.3避免过度设计或设计不足 88
8.4把复杂度和返工最小化 88
8.5永不把代码变得更糟/仅在有目的情况下降低代码质量 89
8.6使代码容易修改,足够强大健壮,适应变化并安全可靠 89
8.7在非面向对象的代码或遗留系统里编写易于修改代码的策略 90
8.8小结 93
第9章 持续集成 94
9.1建立源代码分支 94
9.1.1多版本:特殊分支 95
9.1.2孤立地工作:开发分支 96
9.1.3问题、解决方案、新的问题 98
9.2将主干内容合并回分支 99
9.3测试驱动开发与合并成本 100
9.4持续集成 102
9.5持续集成服务器 103
9.6小结 104
第三部分 设计问题 108
第10章 共性和可变性分析 108
10.1用动词和名词来做指南:警告,前面有危险 108
10.2真正的问题是什么 111
10.3我们所需要知道的 111
10.4共性和可变性分析 112
10.4.1共性分析 113
10.4.2可变性分析 113
10.4.3面向对象设计“一箭三雕” 113
10.5发掘对象的新范式 114
10.6分析矩阵:一个用例学习 115
10.7小结 122
第11章 以开放关闭原则为目标的重构 123
11.1开放关闭原则 123
11.1.1从开放关闭原则引申到其他 126
11.1.2开放关闭原则是一个“原则” 127
11.2重构 129
11.2.1为何重构 130
11.2.2负债还是投资 130
11.2.3重构和遗留系统 131
11.2.4以开放关闭原则为目标的重构 132
11.2.5“及时”设计 134
11.3小结 136
第12章 需求与功能接口 137
12.1迪米特法则 137
12.2耦合,可恶的耦合,还有依赖 139
12.2.1耦合和可测试性 140
12.2.2需求与功能 141
12.3理想的分离方案:需求接口和功能接口 142
12.4回到迪米特法则 143
12.5小结 145
第13章 何时以及如何使用继承 147
13.1“四人组” 147
13.2初始向量,最终结果 149
13.3优先委托 151
13.4使用继承与使用委托 152
13.5继承的使用 154
13.6可扩展性 156
13.7在敏捷开发里应用四人组的训诫 156
13.8测试问题 157
13.9更多 158
第四部分 附录 160
附录A统一建模语言概览 160
附录B代码质量 169
附录C封装原始数据类型 178
- 《敏捷技能修炼 敏捷软件开发与设计的最佳实践》(美)AlanShalloway,ScottBain,KenPugh,AmirKolsky著;郑立,邹骏,黄灵译 2012
- 《游戏开发工程师修炼之道 原书 第3版》(美)诺瓦克著 2014
- 《Java工程师修炼之道》杭建著 2018
- 《软件架构师的12项修炼 技术技能篇》(美)戴维·亨德里克森(DaveHendricksen)著;姚军译 2015
- 《程序员的思维修炼 开发认知潜能的九堂课》(美)亨特著 2011
- 《编写高质量代码 Web前端开发修炼之道》曹刘阳编著 2010
- 《高效程序员的45个习惯 敏捷开发修炼之道 修订版》(美)苏帕拉马尼亚姆,(美)亨特著 2014
- 《游戏设计师修炼秘笈》(美)施雷伯等著 2011
- 《测试驱动开发的3项修炼 走出TDD丛林》王晓毅编著 2008
- 《程序员修炼之道》(美)享特,(美)索马斯著 2003
- 《敏捷技能修炼 敏捷软件开发与设计的最佳实践》(美)AlanShalloway,ScottBain,KenPugh,AmirKolsky著;郑立,邹骏,黄灵译 2012
- 《设计模式解析》(美)AlanShalloway,(美)JamesR.Trott著 2010
- 《设计模式解析》(美)AlanShalloway 2010
- 《设计模式解析 影印版》(美)AlanShalloway,(美)JamesR.Trott著 2003
- 《许溪问茶》邹骏著 2009
- 《言语的力量 高效的商务呈现和谈话技巧》(美)布雷斯(PriceD.)著;黄灵,孙长虹译 2013
- 《医学细胞生物学考试常见错误与对策》张淑玲,郑立红主编;于海涛,郑立红,张淑玲等编 2003
- 《大规模敏捷开发实践 HP LaserJet产品线敏捷转型的成功经验》(美)格鲁弗,(美)杨,(美)富尔格姆著;郑立译 2013
- 《辣吻》(美)棘莉·摩尔斯著;齐文虎译;(美)特瑞·劳伦斯著;王小波译 2001
- 《星魔之吻》(德)罗伯特·费得郝夫(Robert Feldhoff)著;黄灵君译 2000
- 《北京志 工业卷 机械工业志 农机工业志》北京市地方志编纂委员会编 2001
- 《机械工业和机械图书的出版发行 机械工业出版社发行培训教材》陈慧毅,杨少晨编 1988
- 《冷冲模设计》赵孟栋主编 2006
- 《机械工业出版社》慕拉维叶夫著;孔庆复译 1959
- 《北京市立高级工业职业学校机械科毕业学生韩丕纯分数表/韩丕纯毕业证书》 1949
- 《中等职业教育机电类规划教材 机械工业出版社精品教材 机械设计基础 第2版》机械职业教育基础课教学指导委员会机械设计学科组组编;柴鹏飞主编 2006
- 《集知播识春秋录 机械工业出版社 1952-1988.机械科学技术情报研究所 1958-1988》机械科技情报研究所,机械工业出版社编 1988
- 《电线电缆》上海市电缆研究所编 1975
- 《FoxBASE+ 三周通》文忠等编著 1995
- 《FoxBASE+实验指导书》李爱华,王建诚编 1994