首页>参考读物>计算机科学与技术>软件工程及软件方法学

结对编程技术
作者 : (美)Laurie Williams,Robert Kessler
译者 : 杨涛 杨晓云 等
出版日期 : 2004-01-08
ISBN : 7-111-13531-8
定价 : 29.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 212
开本 : 16开
原书名 : Pair Programming Illuminated
原出版社: Pearson Education,Inc.
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

结对编程技术是一个非常简单和直观的概念:两位程序员肩并肩地坐在同一台电脑前合作完成同一个设计。同一个算法、同一段代码或同一组测试、与两位程序员各自独立工作相比.结对编程往往只需花费大约一半的时间就能编写出质量更高的代码,但是,人与人之间的合作不是一件简单的事情——尤其当人们都早己习惯了独自工作的时候、实施结对编程技术将给软件项目的开发工作带来好处.只是这些好处必须经过缜密的思考和计划才能真正体现出来。
  结对编程技术看起来简单,但当习惯于独立工作的人结对进行开发时,如何真正做到事半功倍,还要用到很多非技术性的技巧。本书作者根据自身的实践经验,对结对编程中的习惯以及应该强调和需要避免的做法等进行了全面分析,还给出了两个案例研究。本书不仅能帮助初次接触结对编程的团队成员及经理熟悉该技术,还能指导有经验的程序员更加熟练地运用结对编程技术。
  本书主要内容:
  ●编程搭档的选配原则。
  ●实战经验,比如如何布置工作场所,如何进行结对轮转,如何发现”不良”搭档,等等。
  ●优秀结对程序员的7个良好习惯。

图书特色

图书前言

我们编写这本书的目的是向读者介绍结对编程(pair programming)技术。已经开始结对编程的读者也可以通过阅读本书来加深对这项技术的理解,使两人的合作更加成功。本书回答了读者在使用结对编程技术时关心的很多问题。
  第一部分的目标是让读者对结对编程技术有更深入的认识。我们将描述这项技术,并从不同的视角探讨结对编程技术的利弊。无论读者是否愿意尝试这项技术,无论你是一位试图说服项目经理采用结对编程技术的雇员,还是一位试图说服软件工程师采用结对编程技术的项目经理,都能从这一部分的有关章节里获益。
  第二部分将对结对编程技术的一些实施细节进行研究,比如办公家具的布置、日常工作中的注意事项和小技巧等。我们还将讨论结对轮转(pair rotation)机制的重要性,并对它之所以能提高知识管理水平的深层原因进行分析。
  第三部分对各种搭档方法的利弊及其最佳作用进行了探讨。我们向大家介绍了一些有助于提高编程小组工作效率的好主意,并针对一些有问题的结对提出了解决方案。令人遗憾的是,并非每一组双人团队都能获得成功,所以我们还将给出一些能够防患于未然的办法。
  第四部分对结对编程技术在两种程序设计方法论中的实际应用进行了案例研究。第一个案例描述了结对编程技术在极限编程(XP)中的应用情况,第二个案例则讨论了结对编程技术在协作软件过程(CSP)中的应用情况。在这两种情况下,结对编程技术都是成功的必要因素。
  第五部分对结对编程技术的未来方向进行了展望,并列举了优秀编程搭档的7个好习惯。

谁该阅读这本书
  这本书是我们为软件开发团队成员和他们的经理们编写的。我们所说的“软件开发团队”并不仅限于那些专门编写软件代码的程序员,团队领导和辅导者、GUI设计人员、体系结构专家、QA人员也包括在其中。这本书也是为那些希望与学生们一起去尝试结对编程技术的教育工作者们编写的。下面是我们为不同人士安排的本书阅读计划:
  ●尚未尝试过结对编程技术的软件开发人员或团队领导/辅导者请从本书的第一部分开始阅读。第1~3章是必读内容。如果你打算说服你的经理采用结对编程技术,第4章肯定会有帮助。如果你想说服你的同伴去尝试进行结对编程,第5章就是为你写的。如果你现在正“被迫”进行着结对编程,第6章将帮助你加深对这项技术的理解并尽快适应它。第7章将帮助你应付一些可能会遇到的问题。接下来,可以利用第二部分的有关章节去解决一些在采用结对编程技术时遇到的具体问题。第27章“优秀结对程序员的7个好习惯”将帮助你沿着正确的道路开始你的结对编程生涯。附录A“结对编程技术教程”将帮助你带领或者说服你的团队去采用结对编程技术。
  ●已经采用结对编程技术的软件开发人员或团队领导/辅导者也应该快速浏览一下第1~3章。虽然对你来说其中很多不是新知识,但你可能会得到一些新的启发。接下来,可以利用第二部分的有关章节去解决一些在采用结对编程技术时遇到的具体问题。第三部分对如何选择正确的程序员组合去完成手头的任务提出了一些重要的建议。第27章将是一个很好的自我检验—这些好习惯你有多少个?附录D对使用结对编程技术来编写程序、使用“测试驱动的开发”技术来测试程序的问题进行了探讨。
  ●QA人员最想知道的是如何去管理一个已经或者计划采用结对编程技术的开发团队。第1~4章将加深你对这项技术本身及其优点的理解。第10章和第26章还探讨了以结对编程技术代替代码检测技术的可行性。
  ●经理们应该从第一部分的第1~4章和第7章开始阅读。然后,如果你打算说服你的团队去尝试结对编程技术,第6章将很有用。你应该组织你的团队去学习附录A中的结对编程技术教程。第二部分对你在结对编程技术实施过程中可能会遇到的一些具体问题进行了探讨,第26章对结对编程技术的发展方向做了一些分析。
  ●教育工作者应该阅读第一部分的前4章以加深自己对这项技术的基本理解。第8章、第10章和第11章对如何指导学生们使用结对编程技术进行了介绍。你应该根据学生们的技能水平和个人特点去选择第三部分中的有关章节进行教学。第26章应该激发你的学术研究兴趣,第27章则是一些很值得与学生们分享的知识。附录C是专为教育工作者编写的,它提供了一些在课堂里讲授结对编程技术的好建议。

作者简介

(美)Laurie Williams,Robert Kessler:Laurie Williams: Laurie Williams在美国北卡罗来纳州立大学计算机科学系任教。她曾在犹他州立大学教过书,并在这里获得博士学位。她主要从事结对编程技术、XP、软件工程过程等方面的写作、教学和演讲的活动。Laurie还曾在IBM公司的制造部门、软件开发部门和管理岗位上工作过9年。
Robert Kessler: 美国犹他州立大学计算机学院的教授,他在该学院获得了博士学位,并曾担任过该学院的系主任。主要从事结对编程技术、XP、软件工程过程等方面的写作、教学和演讲的活动。他曾创建过好几家技术公司,他还是另外几家技术公司的董事会成员。

译者简介

杨涛 杨晓云 等:暂无简介

图书目录

前言
第一部分  结对编程技术理论
第1章  结对编程技术简介 3
1.1  结对编程 3
1.2  是否结对,这是个问题 4
1.3  墙上的旁观者 4
1.4  结对编程技术的早期实践 7
1.5  有言在先 8
第2章  结对编程技术的7个误区 11
第3章  结对编程技术的7种激励效应 17
第4章  如何说服管理层接受结对编程技术 27
第5章  如何寻求同事们的支持和接受 37
第6章  如何让下属们接受结对编程技术 41
6.1  Green和Hevner的研究发现 42
6.2  对管理层的忠告 43
6.3  对程序员的忠告 46
第7章  问题 47
7.1  对搭档产生依赖性 47
7.2  进度安排难以协调 47
7.3  分身乏术 48
7.4  工作地点 48
7.5  噪音与办公室布局 49
7.6  灵感来时无暇他顾 49
7.7  意见不合 49
7.8  过于自信 50
7.9  赶进度 50
7.10  技能不平衡 50
7.11  难以适应结对编程技术 51
7.12  小结:必要的管理和维护工作 51
第二部分  结对编程技术实战
第8章  工作场所的布局 55
8.1  对工作场所的基本要求 55
8.2  对工作场所的改进建议 55
8.3  搭档间的交流 56
8.4  开发环境 57
8.5  噪音问题 58
8.6  最后一点提醒 58
第9章  结对轮转机制:交流、知识管理与培训 59
9.1  基本原则:与最佳人选结为搭档 59
9.2  挑选搭档的办法 61
9.3  结对轮转机制与知识管理 62
9.4  结对轮转机制与培训 64
9.5  结对轮转机制小结 65
第10章  其他考虑因素 67
10.1  绩效考核 67
10.2  团队规模 68
10.3  质量保证 69
10.4  功能与系统测试 70
10.5  代码的维护与优化 71
第11章  技巧与窍门 73
第三部分  结对编程搭档的选配原则
第12章  搭档组合方式:专家—专家 79
12.1  目的 79
12.2  成功要素 80
12.3  挑战 80
12.4  真人真事 81
第13章  搭档组合方式:专家—中级程序员 85
13.1  目的 85
13.2  成功要素 85
13.3  挑战 87
13.4  真人真事 87
第14章  搭档组合方式:专家—新手 89
14.1  目的 89
14.2  成功要素 89
14.3  挑战 90
14.4  真人真事 91
第15章  搭档组合方式:新手—新手 93
15.1  目的 94
15.2  成功要素 94
15.3  挑战 95
15.4  真人真事 95
第16章  搭档组合方式:外向型—外向型 97
16.1  目的 97
16.2  成功要素 98
16.3  挑战 98
16.4  真人真事 98
第17章  搭档组合方式:外向型—内向型 101
17.1  目的 101
17.2  成功要素 101
17.3  挑战 102
第18章  搭档组合方式:内向型—内向型 103
18.1  目的 103
18.2  成功要素 103
18.3  挑战 104
18.4  真人真事 105
第19章  性别不是问题 107
19.1  观点 108
19.2  说明 108
19.3  基本对策 108
19.4  真人真事 108
第20章  文化背景不是问题 111
20.1  观点 112
20.2  说明 112
20.3  基本对策 112
20.4  真人真事 113
第21章  职业驾驶员问题 117
21.1  根源 117
21.2  基本表现形式 118
21.3  基本对策 118
21.4  真人真事 119
第22章  “我的搭档太差劲”等因盲目自大而导致的问题 123
22.1  根源 124
22.2  基本表现形式 124
22.3  基本对策 124
22.4  真人真事 125
第23章  “我的搭档太聪明”等因盲目自卑而导致的问题 127
23.1  根源 128
23.2  基本表现形式 128
23.3  基本对策 128
23.4  真人真事 129
第四部分  结对编程技术在软件过程中的应用
第24章  结对编程技术在软件过程中的应用案例研究:XP 133
24.1  软件开发方法论的进化史 133
24.2  XP方法论简介 134
24.3  XP离不开结对编程技术 138
第25章  结对编程技术在软件过程中的应用案例研究:CSP 141
25.1  CSP方法论概述 142
25.2  小结 149
第五部分  做个出色的结对程序员
第26章  前进,超越 153
26.1  编程三人组 153
26.2  两位搭档来自不同学科 153
26.3  代码检查过时了吗 154
26.4  投影屏幕 154
26.5  分布式结对编程技术 154
26.6  结对学习 156
第27章  优秀结对程序员的7个好习惯 159
附录A  结对编程技术教程 165
附录B  关于结对编程技术的经济学分析 173
附录C  课堂中的结对编程技术 187
附录D  测试驱动的开发技术简介 193

教学资源推荐
作者: Joseph Phillips
作者: 黄松 洪宇 郑长友 朱卫星 编著
作者: Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides
参考读物推荐
作者: (美)Daniel J.Mosley,Bruce A.Posey
作者: Peter Herzum, Oliver Sims
作者: Joshua Barnes