构建之法之结对编程

1.什么是结对编程?

结对编程是极限编程这一思想的具体体现。结对编程有三种形式:

a.键盘鼠标式;

b.Ping-pong式(这种是采用TDD(测试驱动开发)时常用的方式,A测试,B实现和重构,然后B写下一个测试,A来实现和重构。);

c.领航员—驾驶员式(领航员的注意力放在如何实现宏观目标,以及Review驾驶员的代码。驾驶员编辑代码,关注的是短期目标,代码细节。);

常用的是Ping-pong式和领航员-驾驶员式。(下面都以领航员-驾驶员模式为例子。)

2.为什么要结对编程?

a.减少犯错。因为在结对编程的过程中有随时的复审和交流;

b.提高解决问题的效率。在开发层次,结对编程能提供更好的设计质量和代码质量,合作解决问题的能力增强;

c.知识传递。在结对工作的时候,开发人员可以互相交流,互相学习,提高;

d.取得更高的投入产出比。好的结对编程效率高,错误少,有效的交流,大大提高了编程的质量,增加了公司效益;

3.如何做到好的结对编程?

a.遵守相同的代码规范 ;

b.不同的阶段(萌芽阶段,磨合阶段,规范阶段,创造阶段,解体阶段),不同的人(新手和老手,同性之间,异性之间,外向型和内向型... ...)要有不同的方式;

c.养成个人良好的生活习惯;

4.结对编程的缺点是什么呢?

  结对编程并不是适合所有的项目,对于那些处于探索阶段的项目,技术含量不高的项目... ...。对于领航员-驾驶员模式来说,最重要的是发挥“领航员”的作用,如果作用不大,也就无需结对。

时间: 2024-08-28 15:10:31

构建之法之结对编程的相关文章

构建之法阅读笔记三—结对编程

构建之法阅读笔记三——结对编程 何谓结对编程,结对编程就是程序员肩并肩,平等的,互补的进行开发工作,他们使用同一台电脑,编写同样的程序,一起分析,一起设计,一块交流想法. 然而我以前却并不是这样做的,我以前喜欢在没人打扰的环境下写代码,我觉得有人在我身边看着,会影响我的思路,还有我个人自尊心比较强,不太喜欢被人指指点点,所以每次都是,我写完代码之后,自己先找自己的bug,每当自己实在找不到之后,才会请教大神,但是有时候可能由于自己的能力不足,往往一个很简单的问题,我自己发现就会花费很久的时间,让

《构建之法》---软件工程师的成长&两人合作

本周学习了<构建之法>第三.四章的内容. PSP对软件开发的工作质量的衡量简单指标为:项目/任务有多大.花多少时间.质量如何.是否按时交付共4个因素.而要成为一名合格的软件工程师,要对上述4个因素尽量在用户需求上做到尽善尽美. 软件工程师的职业发展有: 职业发展---考级之路 计算机等级考试 (http://sk.neea.edu.cn/jsjdj/index.jsp) 全国计算机技术与软件专业技术资格考试 (http://www.rkb.gov.cn/  ) 职业成长---Steve McC

结对编程2—— 单元测试

结对伙伴:201421123048,201421123036 coding.net 地址:https://git.coding.net/YJh_/PairProject_2.git a. 需求分析:测试上有哪些详细的需求? 1.把计算模块提取出来,单独创建一个类2.通过单元测试代码,测试加法是否能正确工作3.通过单元测试代码,测试加减乘除功能4.通过单元测试代码,测试计算类对于各种参数的支持 输入是有错误的,例如 "1 ++ 2" 在数值范围是 -1000 .. 1000 的时候,传进

通读《构建之法》有感

四天的时间大致读了一遍<构建之法>后发现,之前可能只有一个疑惑——什么是软件工程?读完全书后发现满脑子都是问号. 虽然疑惑增多但是于我而言还是有些收获的,通读全书了解了软件开发的整体流程,认识到在软件开发的过程中,由于软件的复杂性.不可见性.易变性.服从性及非连续性等会引发一系列难题,从而刷新了对软件工程的认知.软件工程绝非是简单的编程,而是一门与人的行为和现实需求相关联的科学,包含众多不同的领域. 因为之前没有接触过软件工程,所以这次粗略的阅读后出现了大量的不能理解的问题,好些基础的知识点也

《构建之法》观后感

刚开始读<构建之法>这本书时,书上所提到的很多问题都是我们平常在写代码时候会犯的一些小的错误,就我个人而言,在我还没读<构建之法>这本书之前,我还不知道我平常在写代码中犯了这么多的错误,虽然这些错误都是一些小错误,并不影响代码的执行,但是看了<构建之法>这本书之后,才忽然明白原来一些小错误也会造成大的问题. <构建之法>这本书我基本每天睡前读一章,有时实在太困了,可能就读半章.不得不说,这本书绝对是良心之作,书中用使用了移山公司,王屋村这样的经典词汇.都说程

关于《构建之法》读后感

关于<构建之法>读后感 翻开<构建之法>,第一眼看到的是其他读者对该书的读后感受评语,看了这些评语便引起了我的好奇心,这本书真有他们说的那么好?软件工程留给我的印象说比较枯燥无味的,那么一本关于软件工程的书即便写的再生动形象始终逃不开枯燥不是?可是书评却恰恰相反,这让我有一种想探究竟的冲动在无形中被勾起了. 看了,发现该书真如其他读者反馈的一样,该书是一本写的有血有肉的,具有强大的实用性及超级趣味性,生动形象的让人很容易读懂的书. 该书的内容主要以设置情景,采用一问一答的形式为软件

构建之法 第三次心得

构建之法 第四.五章心得 学习了第四第五章之后,我了解到了两人合作的注意要点,还有团队和开发流程.软件都是在相互合作中完成的,合作的最小单位是两个人.每个人的标准都不一样,对于什么是好的代码规范未必认同,所以我们需要给出一个基准线,即什么是好的代码规范和设计规范. 代码规范可以分成两个部分,一是代表风格规范,主要是文字上的规定,看似是表面文章,实际上非常重要.二是代码设计规范,牵涉到程序设计.模块之间的关系.设计模式等方方面面的通用原则.代码风格的原则是:简明.易读.无二义性.这里可以从几个方面

构建之法:第三次心得

在之前一周学习过个人能力的发展的重要性以及软件工程师个人的成长之后,这一周我主要学习了团队之间的合作的重要性.具体就是学习了构建之法的第四章和第五章. 第四章 第四章,讲的是两人合作.在软件行业的逐步发展中,一个软件基本上一个人是完成不了的,软件都是在相互合作中完成的. 首先,代码除了要足够正确简洁外,还要清晰,让人一目了然.简单来说,代码风格的原则:简明,易读,无二义性.但是,最重要的代码设计规范还是程序设计.模块之间的关系.毕竟,一个软件的流行与否与它的性能与客户需求还是密不可分的.其次,在

构建之法阅读笔记三

今天阅读了构建之法第四章,对我最深的感触就是代码规范,对于一个软件工程师来说,编程是一项基本技能,程序编的好一半来自于代码的规范:就算你学的算法再好,编程能力再强,代码不规范也没有任何意义.当阅读者拿到你的代码时一头雾水,完全看不懂,这样的代码对于后期的维护和bug的寻找难上加难,或者是对于后来的初学者来说,也是去了教育意义.所以在我们日常的编程过程中要养成代码规范的习惯,习而久之,这样的习惯会一直伴随我们编程整个过程. 还有就是代码复审,我一开始也想不明白,代码为什么要复审呢,写完代码得到执行