《完美代码》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(美)DonisMarshall,JohnBruno著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2010
  • ISBN:9787111292401
  • 页数:231 页
图书介绍:本书简单明了地介绍了软件开发中的最佳实践,展示了工程流程在编写优质代码上的重要性以及测试的重要性,总结了很多资深工程师的经验教训,并提供了很多真实案例。书中介绍的经验可以应用到产品开发周期的每个环节,从设计到开发以及最后的发布和维护。本书的中心思想就是要在设计和实现的过程中改进代码质量,包括类建模、性能、安全性、内存使用以及调试,帮助读者构建完美的项目。本书适合专业及业余程序员阅读。

第1章 敏捷世界里的代码质量 1

1.1软件开发的传统方法 2

1.2软件开发的敏捷方法 3

1.2.1 Scrum 4

1.2.2 eXtreme Programming 5

1.2.3测试驱动开发 6

1.3尽早进行质量控制 7

1.4微软内幕:Windows Live Hotmail工程 8

1.4.1工程准则 9

1.4.2成功的关键因素 10

1.5编写坚实代码的方法 11

1.5.1专注设计 11

1.5.2防御和调试 12

1.5.3分析与测试 13

1.5.4改进流程和态度 13

1.6总结 14

1.7本章要点 14

第2章 类设计和原型开发 16

2.1 Visual Studio中的协作 17

2.2磨刀不误砍柴工 17

2.3软件建模 19

2.3.1统一建模语言 20

2.3.2 Visio示例 24

2.4原型开发 29

2.5跟踪 31

2.6 Visual Studio类设计器 32

2.6.1创建一个类图 33

2.6.2使用类设计器进行原型开发 34

2.6.3原型开发示例 35

2.7总结 38

2.8本章要点 38

第3章 元编程 39

3.1什么是元数据 39

3.2托管应用里的元数据 41

3.3应用程序中的元数据 52

3.4微软内幕:Windows Live Spaces中的配置管理 53

3.5总结 54

3.6本章要点 55

第4章 性能也是功能 56

4.1常见的性能难点 56

4.1.1网络延时 57

4.1.2负载大小和网络往返时延 58

4.1.3受限的TCP连接 59

4.1.4未优化的代码 60

4.2分析应用程序性能 61

4.3提升Web应用性能的技巧 64

4.3.1减小负载大小 64

4.3.2有效利用缓存 65

4.3.3优化网络通信 66

4.3.4为性能组织编写代码 69

4.4采用性能最佳实践 70

4.5微软内幕:解决Live Search的性能问题 71

4.5.1 Web性能准则 72

4.5.2成功的关键要素 73

4.6总结 73

4.7本章要点 74

第5章 伸缩性设计 75

5.1理解应用程序伸缩性 75

5.1.1伸缩性之路 76

5.1.2数据库的伸缩性 79

5.2伸缩Web应用程序的技巧 80

5.2.1选择可伸缩的应用程序设计 81

5.2.2设计可伸缩的应用程序基础设施 82

5.2.3抵御应用程序故障 84

5.2.4保证可管理性和可维护性 86

5.3微软内幕:管理Windows Live Messenger服务基础设施 89

5.4总结 91

5.5本章要点 91

第6章 安全性设计和实现 92

6.1常见的应用程序安全威胁 92

6.2设计安全的应用程序的原则 94

6.3安全的应用程序的SD3+C策略和实践 95

6.3.1设计上的安全性 95

6.3.2默认值的安全性 99

6.3.3部署和通信中的安全性 99

6.4理解.NET框架的安全性原则 101

6.4.1运行时安全策略 101

6.4.2代码访问安全 103

6.4.3应用运行时安全策略 104

6.5其他安全性最佳实践 105

6.6总结 106

6.7本章要点 107

第7章 托管内存模型 108

7.1托管堆 109

7.2垃圾回收 109

7.2.1原生对象的托管包裹 110

7.2.2 GC类 111

7.2.3大型对象堆 112

7.3终止 114

7.3.1不确定的垃圾回收 114

7.3.2可丢弃对象 115

7.3.3丢弃模式 117

7.3.4弱引用 120

7.4固定 122

7.5托管堆的技巧 123

7.6 CLR Profiler 124

7.7总结 128

7.8本章要点 129

第8章 防御式编程 130

8.1防御式编程和C 131

8.2警告 132

8.3代码检查 132

8.4软件测试 133

8.4.1测试驱动开发 135

8.4.2代码覆盖 136

8.4.3自我描述的代码 138

8.4.4命名规则 139

8.4.5伪代码 140

8.4.6注释 141

8.5用类实现防御式编程 144

8.5.1修饰符 144

8.5.2接口 144

8.6防御式编程小结 145

8.7设计模式 151

8.8总结 152

8.9本章要点 153

第9章 调试 154

9.1溢出bug 157

9.2 Pentium FDIV bug 157

9.3符号 157

9.3.1符号服务器 159

9.3.2源码服务器 161

9.4抢先式调试 162

9.5主动型调试 163

9.5.1托管调试助手 163

9.5.2 MDA举例 165

9.5.3代码分析 165

9.5.4性能监视 166

9.6调试 168

9.7调试工具 169

9.7.1 Visual Studio 169

9.7.2 .NET框架工具 171

9.7.3 Windows调试工具 172

9.7.4 CL R Profiler 172

9.7.5 Sysinternals 173

9.8跟踪 173

9.8.1 Web应用程序跟踪 174

9.8.2异常处理 175

9.9生产调试 177

9.10总结 182

9.11本章要点 183

第10章 代码分析 184

10.1投资测试过程 185

10.1.1定义测试的节奏 185

10.1.2建立测试工作项的跟踪 187

10.2采用自动化的代码分析 189

10.2.1使用静态代码分析工具 189

10.2.2编写应用程序测试代码 191

10.2.3使用Visual Studio进行测试 194

10.3通过度量来理解质量 196

10.3.1衡量代码的复杂度和可维护性 196

10.3.2通过透视来理解质量 197

10.4微软内幕:Microsoft.com的Web分析平台的质量管理 198

10.4.1代码质量的重要性 198

10.4.2测试投资 199

10.4.3管理质量 200

10.5总结 200

10.6本章要点 200

第11章 改进工程流程 202

11.1工程流程改进的技巧 202

11.1.1建立起关注质量的项目节奏 203

11.1.2实现源码控制和提交流程 204

11.1.3每日发布和测试代码 209

11.1.4自动化每日构建 212

11.1.5使用MSBuild 213

11.1.6创建并执行质量指标 216

11.2总结 218

11.3本章要点 218

第12章 态度决定一切 219

12.1激情 219

12.2线性还是迭代 220

12.3销售为王 221

12.4灵活性 223

12.5解决实际问题 224

12.6你要负责 224

12.7把移植代码当做新代码来写 225

12.8重构 226

12.9优先级 226

12.10从实际出发 227

12.11拥抱变化 228

12.12拓展视野 229

附录A敏捷开发资源 230

附录B Web性能资源 231