聊聊结对编程 Pair Programming
2022-11-11
来源:麦克叔叔每晚10点说
。任务的粒度一般在几小时到一两天这种级别,涉及的代码规模大约是几行到几个类/函数。每个任务都需要安排一个Owner作为责任人,这和传统的单人开发模式相同。但是,Owner的产生一般不是由Scrum教练分配指定的,而是团队成员自发地去协商选择适当的任务。Owner拿到任务以后会从团队中找一个支持者,形成Pair。这也是一个自发协商过程,没有强制指定,也没有固定的搭档,这样形成的Pair一般来说配合最默契,也最适合相应任务的执行。
<阶段2-初始讨论>
Pair形成以后,一般是由Owner先分析需求、设计测试,并初步完成设计思路。这个阶段搭档可以暂时先不了解需求。然后Owner向搭档介绍需求和自己的设计思路,搭档需要帮助Owner理解需求、设计测试,对设计方案提出反馈意见,或者提出新的设计。讨论的理想结果是两人达成一致形成最终的设计方案,如果两个人分歧较为严重,不能达成一致的时候则需要更多的人参与,比如可以举行一个小型的技术讨论会议,把讨论范围扩大到整个团队。
<阶段3-具体实现>
这一阶段是根据讨论得出的设计方案开始编程实现。如果让两个人一直保持一起工作,特别容易让人疲倦,并且感觉不自在,进而抵触结对编程。所以建议实践过程中,除了少数情况,基本上不要采用全程结对工作,而是由Owner一个人完成。当然,如果Owner遇到了一些设计上考虑不完善的地方,他可以随时和搭档讨论。
<阶段4-Review>
具体实现完成以后,Owner会邀请搭档检查自己的工作。这个过程一般是借助版本控制工具对比代码改动,搭档从实现的角度审查实现是否符合设计,有没有可以直接观察到的bug和潜在的问题。如果发现问题并讨论确认,Owner再做相应的改动,再一次提交审查。只有当搭档提不出问题之后,Owner才能提交代码。
使用案例
教育学
案例1
2001年,美国北卡州的Laurie Williams做了一个实验,该实验主要用来研究下面两个课题:
1)结对编程的作用。
2)积极协作学习的重要性。
Williams及其助手调查了学生学习兴趣和学习成绩,结果发现按照传统教学模式(即编程是一个人的事情,如果和别人交流会被认为是作弊),很多学生在第二年就会选择别的专业,放弃计算机科学专业。同时还发现,运用结对编程学习的同学的成绩比独立学习的学生成绩好很多,而且学习兴趣更浓。2006年美国科罗拉多州刘易斯堡学院Brian Hanks经过调查和实验得到大多数学生对结对编程持欢迎态度,他们认为结对编程可以很好的增进同学之间的关系,更好的加强同学
免责声明:
1、IT项目管理界发布的所有资讯与文章是出于为业界传递更多信息之目的,并不意味着赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请浏览者仅作参考,并请自行核实相关内容。
2、本站部分内容转载于其他网站和媒体,版权归原作者或原发布媒体所有。如文章涉及版权等问题,请联系本站,我们将在两个工作日内进行删除或修改处理。敬请谅解!
-
延伸阅读:
-