当前位置:首页 > 工业技术
修改软件的艺术  构建易维护代码的9条最佳实践
修改软件的艺术  构建易维护代码的9条最佳实践

修改软件的艺术 构建易维护代码的9条最佳实践PDF电子书下载

工业技术

  • 电子书积分:9 积分如何计算积分?
  • 作 者:(美)戴维·斯科特·伯恩斯坦著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2017
  • ISBN:7115467765
  • 页数:176 页
图书介绍:本书会帮你降低构建与维护软件的成本。如果你是软件开发者,将学到一套实践方法以构建易修改的代码,因为在应用当中代码经常需要修改。对于和软件开发者合作的管理者来说,本书会向你展示为何引入这九个基本的实践方法,会使你的团队更加有效地交付软件而不至于让软件演变成遗留代码。
《修改软件的艺术 构建易维护代码的9条最佳实践》目录

第一部分 遗留代码危机 2

第1章 有些事情不对劲 2

1.1什么是遗留代码 3

1.2顺流直下 4

1.3孤注一掷 6

1.4为什么瀑布模型不管用 7

1.4.1食谱与配方 7

1.4.2开发和测试分离 8

1.5当“流程”变成“体力劳动” 8

1.6坚如磐石的管理 9

1.7此处有龙 10

1.8评估未知 11

1.9一个充满外行人的产业 12

1.10回顾 13

第2章 逃出混乱 14

2.1混乱报告 14

2.1.1成功的 15

2.1.2遇到困难的 15

2.1.3失败的(有缺陷的) 15

2.2驳斥斯坦迪什咨询集团 16

2.3项目为何会失败 17

2.3.1情况发生了改变 18

2.3.2 bug泛滥成灾 19

2.3.3复杂性危机 20

2.4失败的代价 21

2.4.1这里十几亿,那里十几亿 21

2.4.2不同的研究,同样的危机 22

2.5总结 23

第3章 聪明人,新想法 25

3.1走进敏捷 25

3.2小即是好 26

3.3实现敏捷 27

3.4艺术与技能的平衡 28

3.5敏捷跨越鸿沟 29

3.6追求技术卓越 30

3.7总结 31

第二部分 延续软件生命(和价值)的9种实践方法 34

第4章9个实践 34

4.1专家知道些什么 35

4.2守-破-离 36

4.3首要原则 37

4.4关于原则 38

4.5关于实践 38

4.6原则指导实践 39

4.7未雨绸缪还是随机应变 40

4.8定义软件中的“好” 40

4.9为什么是9个实践 42

4.10总结 43

第5章 实践1:在问如何做之前先问做什么、为什么做、给谁做 44

5.1不要说如何 44

5.2将“如何”变为“什么” 45

5.3要有一个产品负责人 46

5.4故事描述了做什么、为什么做、给谁做 48

5.5为验收测试设立明确标准 50

5.6自动化验收标准 50

5.7让我们付诸实践 51

5.7.1产品负责人的7个策略 51

5.7.2编写出更好用户故事的7个策略 52

5.8总结 53

第6章 实践2:小批次构建 55

6.1更小的谎言 56

6.2学会变通 56

6.3控制发布节奏 58

6.4越小越好 59

6.5分而治之 60

6.6更短的反馈回路 62

6.7提高构建速度 63

6.8对反馈做出响应 64

6.9建立待办列表 65

6.10把用户故事拆分为任务 66

6.11跳出时间盒子思考 66

6.12范围控制 67

6.13让我们付诸实践 69

6.13.1度量软件开发的7个策略 69

6.13.2分割用户故事的7个策略 70

6.14总结 71

第7章 实践3:持续集成 72

7.1建立项目的心跳 73

7.2理解完成、完整完成和完美完成的区别 73

7.3实践持续部署 74

7.4自动化构建 75

7.5尽早集成,频繁集成 76

7.6迈出第一步 76

7.7付诸实践 77

7.7.1构建敏捷设施的7个策略 77

7.7.2消除风险的7个策略 79

7.8总结 80

第8章 实践4:协作 81

8.1极限编程 82

8.2沟通与协作 83

8.3结对编程 84

8.3.1结对的好处 85

8.3.2如何结对编程 86

8.3.3和谁结对 87

8.4伙伴编程 88

8.5穿刺,群战,围攻 89

8.5.1穿刺 89

8.5.2群战 89

8.5.3围攻 89

8.6在时间盒子中对未知进行调研 90

8.7定期代码审查和回顾会议 91

8.8加强学习和知识分享 92

8.9诲人不倦且不耻下问 92

8.10让我们付诸实践 93

8.10.1结对编程的7个策略 93

8.10.2高效回顾会议的7个策略 94

8.11总结 95

第9章 实践5:编写整洁的代码 97

9.1高质量的代码是内聚的 98

9.2高质量的代码是松散耦合的 99

9.3高质量的代码是封装良好的 100

9.4高质量的代码是自主的 102

9.5高质量的代码是没有冗余的 104

9.6让代码特质指导我们 105

9.7今天的代码质量提高会为将来带来速度的提升 106

9.8让我们付诸实践 107

9.8.1提高代码质量的7个策略 107

9.8.2编写可维护代码的7个策略 108

9.9总结 109

第10章 实践6:测试先行 110

10.1测试的种类 111

10.1.1验收测试=客户测试 111

10.1.2单元测试=开发者测试 111

10.1.3其他测试=质量保证测试 112

10.2质量保证 112

10.2.1测试驱动开发不能取代质量保证 113

10.2.2单元测试不是万能的 113

10.3编写优质测试 114

10.3.1这不是测试 115

10.3.2以行为作为单元 115

10.4 TDD可以提供迅速的反馈 116

10.5 TDD可以为重构提供支持 116

10.6编写可测试的代码 117

10.7 TDD也会失败 118

10.8如何将TDD引入团队 119

10.9成为测试感染者 119

10.10让我们付诸实践 120

10.10.1进行优质验收测试的7个策略 120

10.10.2进行优秀单元测试的7个策略 121

10.11总结 122

第11章 实践7:用测试描述行为 123

11.1红条、绿条、重构 124

11.2一个用测试先行来描述行为的实例 125

11.2.1.编写测试 125

11.2.2存根代码 126

11.2.3实现行为 127

11.3引入限制条件 128

11.3.1编写测试和代码存根 129

11.3.2实现行为 129

11.4我们创建了什么 130

11.5测试就是标准 132

11.6测试需要完整 133

11.7让测试独一无二 134

11.8用测试来覆盖代码 134

11.9 bug是缺失的测试 135

11.10用模拟对象来测试工作流 135

11.11建立防护网 136

11.12让我们付诸实践 136

11.12.1使用测试作为标准的7个策略 136

11.12.2修复bug的7个策略 137

11.13总结 139

第12章 实践8:最后实现设计 140

12.1可变性的阻碍 140

12.2可持续性开发 142

12.3编码与清理 143

12.4软件被阅读的次数比编写次数多 143

12.5意图导向编程 144

12.6降低圈复杂度 145

12.7将创建和使用分离 146

12.8演化式设计 147

12.9让我们付诸实践 147

12.9.1进行演化式设计的7个策略 148

12.9.2清理代码的7个策略 149

12.10总结 150

第13章 实践9:重构遗留代码 151

13.1投资还是借贷 152

13.2变成“铁公鸡” 153

13.3当代码需要修改时 153

13.3.1对已有代码添加测试 154

13.3.2通过重构糟糕代码来培养良好习惯 154

13.3.3推迟那些不可避免的 155

13.4重构技巧 155

13.4.1图钉测试 155

13.4.2依赖注入 156

13.4.3系统扼杀 156

13.4.4抽象分支 156

13.5以支持修改为目的重构 157

13.6以开闭原则为目的重构 157

13.7以提高可修改性为目的重构 158

13.8第二次做好 158

13.9让我们付诸实践 159

13.9.1助你正确重构代码的7个策略 159

13.9.2决定何时进行重构的7个策略 161

13.10总结 162

第14章 从遗留代码中学习 163

14.1更好,更快,更廉价 164

14.2不在不需要的事情上花钱 166

14.3循规蹈矩 167

14.4提升整个软件行业 168

14.5超越敏捷 169

14.6将理解具象化 170

14.7成长的勇气 171

参考文献 174

返回顶部