zoukankan      html  css  js  c++  java
  • 结对编程的理解

           结对编程是极限编程(XP)的十二个实践之一,是指两位程序员肩并肩地坐在同一台电脑前合作完成同一个设计、同一个算法以及同一段代码,并且两人的角色可以随时互换。XP认为结对编程能提高软件开发效率,很多国外软件企业都在热衷于结对编程,Facebook程序员肯特•贝克(Kent Beck)表示:“结对程序员之间的交流非常充分,你甚至可以再也不用言语进行交流。你只要简单描述再结合着手势就可以。”Grockit首席执行官罗伊•吉尔伯特(Roy Gilbert)表示,这种模式已经证明非常成功,他的程序员“正在继续推广这种做法。”而IBM还为结对编程推出了协同开发工具ECF。

           在乒乓结对编程中,观察者编写失败的测试用例,驾驶者修改代码以通过该用例,观察者编写新的单元测试用例,等等。这个循环持续到观察者不能写出失败的测试用例。但是这种方法比估计的计划要花更多的时间。

    结对编程也会有缺点比如说:

    对于有不同习惯的编程人员,可以在起工作会产生麻烦,甚至矛盾。

    有时候,程序员们会对一个问题各执己见(代码风格可能会是引发技术人员口水战的地方),争吵不休,反而产生重大内耗。

    两个人在一起工作可能会出现工作精力不能集中的情况。程序员可能会交谈一些与工作无关的事情,反而分散注意力,导致效率比单人更为低下。

    结对编程可能让程序员们相互学习得更快。有些时候,学习对方的长外,可能会和程序员们在起滋生不良气氛一样快。比如,合伙应付工作,敷衍项目。

    面对新手,有经验的老手可能会觉得非常的烦躁。不合适的沟通会导到团队的不和谐。

    所以我认为所谓结对编程就是一个小型的团队合作,可能也是团队合作的另一种方式。对于结对编程有缺点也有优点。

    结对编程可能也就是团队合作的雏形,所以我认为在编程中团队是必不可少的。

  • 相关阅读:
    hadoop-处理小文件
    hadoop 文件合并
    hadoop multipleoutputs
    超酷的 Vim 搜索技巧
    linux中DHCP服务配置文件/etc/dhcpd.conf详细说明
    cobbler启动问题
    MYSQL 5.5.32的单机多实例部署
    自动化运维之Cobbler自动化部署安装操作系统
    运维自动化之Cobbler系统安装使用详解[good]
    Cobbler自动部署主机系统
  • 原文地址:https://www.cnblogs.com/y1503/p/5339281.html
Copyright © 2011-2022 走看看