`
sinokaka
  • 浏览: 324267 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

结对编程心得

阅读更多
  前一段时间,机缘巧合加上同事的志同道合,尝试了一段时间的结对编程,有诸多体会,一直想
找个机会挥发一下,苦于比较忙碌,憋闷了好久,也考虑成熟一些。
 结对流程:先写一个TODO列表,粗略的写一下一天的工作,然后一个人开始按照先后编写,另外
一个人看着,在编程的过程中会发现新的需求和小的要求,那么需要看着的人记录下来,写道TODO列表上
去,完成一个功能的时候要划掉列表上相应的地方。两个人就这么来回循环交替着。
 总的来说感受颇多,总结一下优缺点如下。
 优点:
 1:pair确实效率比较高,听歌上网的时间基本上没有,脑子一直处于运转状态,不敢说一直高
速运转,因为终归有走神的时候:),自己粗略的算了一个,一个人高效率的话,一天工作6个小时,应该算
是不错的了,特别是持续一个月的水平,pair的话,两个人一直在忙碌,基本上可以算是8个小时,歇人
不歇机器,所以平均每个人4个小时应该是有的。还有就是两个人一切弄东西,总是有种刺激的感觉,使
自己总有种要努力干活的劲头,而且思绪和编程的频率和平时绝对是不一样的。所以说每个人得到了4.5-
5个小时,并不过分。
 2:后期维护简单一些,程序不是写给一个人,而是写给两个人。所以代码的结构肯定是两个人
都能理解的,并且代码是两个人精华的交集那部分,绝对是去其糟粕,取之精华。这样的代码,维护起来
肯定是要好一些的。还有就是有个人盯着的时候,会提醒很多东西,增加了一次成功的几率。俗话说得好
,当局者迷,局外者清。附带优点,从时间上说减少了调试-修改-再调试的次数。
 3:经验传递,每个人都有自己的习惯,每个人都有自己的优点,两个人肯定是相互学习,这样
有利于经验的传递,而且风格上也会统一很多。
 4:工作有激情,编程比较娱乐。干起活来比较带劲,互相争着做功能,每天盼着编程,而不是
怠工。
 缺点:
 缺点只能说说我所遇到的一些问题。
 1:因为我们现在执行的pair只是小局部的pair,并没有发展到整个项目,所以经验传播有限。
我们学习到的经验,只限于pair的这些人(说白了,就两个人)。风格也就pair的人统一。
 2:代码私有化,虽然是结对编程,可是代码依然属于私有的,两个人做的时候,还有一些先做
谁的,再做谁的这种感觉,不利于全身心投入(虽然完全投入进去,总是感觉差点什么),人为的就给了
一些圈圈框框,感觉有些碍手碍脚的。
 3:政治因素太多,因为还是刚刚开始尝试,顶着很多压力,感觉如果不多作出来一些东西,就有
些让人家能说三道四的感觉,说两个人干一个人的活的口舌。还有就是刚刚开始结对,没有什么证据能说
明什么,所以自己心里也比较虚,也比较害怕浪费时间。
 4:习惯了之后,一个人编程感觉很无聊。pair后遗症:)
 总结一下:感觉pair编程比较不错,自己有些时候不结对,就感觉很不带劲。不过不管什么编程
方法,方式也好,都是一种工具,感觉也都是需要一些所谓的上下文环境,才可以充分发挥出来作用的。
 1:项目不是很大,具体多大我说不好,但是太大了,那么交流,传递经验就比较费时费力,阻
尼比较大,每次传递要耗费的功比较多,可能会有些得不偿失。
 2:最好能整个项目都pair,可以实现代码公有化,这样,每个人就不会想着自己还有多少没结
束,自己的进度什么的了。
 3:不是那种考核制度很严格的公司,不然都公有了,不知道每个人怎么样了。
 4:政治压力要小一些。
分享到:
评论

相关推荐

    结对编程——敏捷开发.pdf

    "结对编程——敏捷开发" 结对编程(Pair Programming)是敏捷开发(Agile Development)中的一种实践方法,它是指两名开发者坐在一起,共享一台电脑,共同编写代码的过程。 结对编程的优点: 1. 提高代码质量:...

    论文研究-结对编程开发人员之间若干关系问题的探讨 .pdf

    敏捷软件开发方法中,结对编程是一种实践,它要求两名开发人员在同一台计算机上协同工作。这一方法源自于国际大学生程序设计竞赛(ACM/ICPC)中的团队合作模式。结对编程强调的是两个人的协作,与传统方式相比,它...

    XP实践结对编程demo

    **结对编程(Pair Programming)**是极限编程(XP,Extreme Programming)中的一项核心实践,旨在提高软件开发的效率和质量。在这个过程中,两位程序员坐在同一台电脑前,共同编写代码,一人为主程序员(Driver),...

    交换编程-结对编程的延伸实践

    ### 交换编程—结对编程的延伸实践 #### 一、引言 交换编程作为一种新型的软件开发模式,是对结对编程的一种延伸和发展。本文旨在深入探讨交换编程的基本概念、实施背景及其在软件开发中的应用价值,并通过实例来...

    2020级计算机系软件工程第二次结对编程作业.zip

    2020级计算机系软件工程第二次结对编程作业.zip 2020级计算机系软件工程第二次结对编程作业.zip 2020级计算机系软件工程第二次结对编程作业.zip 2020级计算机系软件工程第二次结对编程作业.zip 2020级计算机系软件...

    结对编程与应用

    是软件工程中结对编程与应用的描述与实现方法

    结对编程技术与策略pdf

    ### 结对编程技术与策略 #### 一、引言与背景 在当今快速发展的软件行业中,结对编程作为一种新兴的协作开发模式,正逐渐受到广泛关注。这种开发方式不仅改变了传统意义上的个体开发流程,而且也在软件工程领域内...

    自组织团队与松结对编程 陈勇 2011-09-18

    ### 自组织团队与松结对编程 #### 一、自组织团队的概念与特点 自组织团队是指团队成员能够自我管理并自主决定工作流程的一种团队形式。这种团队模式强调团队内部的高度自治性和协作性,旨在通过减少层级管理和...

    结对编程启示录

    结对编程,作为一种创新的软件开发实践,源自敏捷开发的理念,旨在提高代码质量和团队协作效率。"结对编程启示录"这本书深入浅出地探讨了这一主题,为小团队提供了宝贵的资源,帮助他们在有限的人力条件下产出高质量...

    结对编程方法在C语言教学中的应用.pdf

    结对编程方法在C语言教学中的应用 结对编程方法在C语言教学中的应用是计算机专业基础必修课《C语言程序设计》的教学中引入的一种新颖的教学方法。该方法的提出是为了提高学生的编程能力和兴趣,提高教学效果。结对...

    结对编程在Java Web开发课程实践教学中的应用.pdf

    "结对编程在Java Web开发课程实践教学中的应用" 结对编程是一种敏捷软件开发方法,它在Java Web开发课程实践教学中有着重要的应用价值。本文将对结对编程在Java Web开发课程实践教学中的应用进行探讨,并对其效果...

    结对编程在数据结构教学中的应用.pdf

    在数据结构的教学实践中,结对编程(Pair Programming)是一种极为有效的教学方法。结对编程是极限编程(Extreme Programming)实践中的一个环节,不仅能够帮助学生更快地掌握编程技能,还能够显著提升他们的团队...

    在复杂的项目开发中使用结对编程

    ### 结对编程在复杂项目开发中的应用 #### 一、结对编程概述 结对编程是一种极限编程(Extreme Programming, XP)技术,它要求两位开发者共同在一个工作站上合作完成编程任务。一位开发者负责编写代码(驱动者),...

    Addison Wesley - 结对编程启示录(手册)

    《结对编程启示录》是Addison Wesley出版的一本关于结对编程的实用手册,旨在帮助读者快速理解和掌握这种编程方法,以提升代码质量和开发效率。结对编程(Pair Programming)是极限编程(XP,Extreme Programming)...

    结对编程.zip

    结对编程

    结对编程软件方法的研究与应用(1).pdf

    结对编程是一种软件开发实践,源自敏捷开发方法论,它提倡两个程序员在同一台电脑上共同工作,一人编写代码,另一人则审查、建议并提供反馈。这种方法的核心理念是通过即时的同行评审和协作来提高代码质量,减少错误...

    创新结对编程在高职《C语言程序设计》课程实践教学中的实现.pdf

    结对编程在高职《C语言程序设计》课程实践教学中的实现,是一种针对软件技术专业学生在团队协作精神方面的培训方法。这一方法主要针对的是当前高职学生普遍缺乏团队协作精神的问题,通过将结对编程技术融入《C语言...

    结对编程-魔方1

    结对编程是一种有效的软件开发方法,它鼓励两人一组共同编写代码,通过互相协作、讨论和监督来提高代码质量和团队效率。在这个场景中,学生们通过结对编程的方式解决了一项关于魔方状态表示和处理的编程任务。 首先...

Global site tag (gtag.js) - Google Analytics