结对编程
一、极限编程
学习结对编程前,我们先来学习极限编程。
极限编程中的“极限”(Extreme)是指将我们认同的有效软件开发原理和实践应用到极限, 如: “如果集成测试很重要,那就要在一天中进行多次集成,并且反复进行回归测试”,所以我们要做持续集成。
极限编程就是一种敏捷开发方法实践论。
二、结对编程
极限编程中包括很多种实践。所谓实践是指采用极限编程方法的团队的日常工作方式,包括结对编程、测试驱动开发、简单设计、重构、持续集成、可持续的步调代码集体所有权、隐喻、编程规范、客户测试、短小发布、整体团队、计划游戏等。
这些实践分为三个层次。而结对编程属于最内层的个人实践。
结对编程采用两人一组,两人共同使用同一个键盘和显示器,在同一个工作空间中进行开发。两人的工作方式类似赛车中的驾驶员和领航员,共同开展同一项开发任务。结对编程要求两个开发人员客观上水平相当,主观上保持积极参与的心态,相互配合,从而高质量地完成编码任务,避免由于思考不周或编码手误而导致的缺陷。再如,测试驱动开发采用测试先行的思想,采用简单原则确定接口,然后编写测试用例,再编写业务代码并对代码进行重构,逐步完善业务代码的功能,并保持测试用例能够通过。
简单的说就是两个人共用同一套设备进行编程。
三、结对编程方式
(1)两个实力都很强的人结对编程;
(2)编程能力中等、实力相当的两个人结对编程;
(3)编程能力很强和新人进行结对编程;
(4)两个都是新人
四、结对编程的优缺点
优点:提升代码质量、促进团队的进步、促进团队的交流等。
缺点:两个人编码习惯不同造成矛盾、两个人的沟通不到位导致编码效率低下、找到合适的两个人进行结对编程比较难等。
文章内容参考网络