敏捷技能修炼 敏捷软件开发与设计的最佳实践PDF电子书下载
- 电子书积分:9 积分如何计算积分?
- 作 者:(美)AlanShalloway,ScottBain,KenPugh,AmirKolsky著;郑立,邹骏,黄灵译
- 出 版 社:北京:机械工业出版社
- 出版年份:2012
- ISBN:9787111395270
- 页数:186 页
第一部分 最关键的小舵板 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
- 《女丹仙道:道教女子内丹养生修炼秘籍 下》董沛文著 2012
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《语文教育教学实践探索》陈德收 2018
- 《彼得·布鲁克导演实践研究》邓小玲著 2019
- 《反思性实践》胡红梅, 2019
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《先进激光加工技能实训》肖海兵主编 2019
- 《环境影响评价公众参与理论与实践研究》樊春燕主编 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019