`
renavatio
  • 浏览: 21876 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

今天,你结对编程了吗?

阅读更多
  敏捷开发出来很久了,但直到近两年才“火”起来,我认为这主要和开源框架的普遍使用有关。像TDD,就受到了包括spring作者Rod Johnson在内的大牛的推崇。
  而结对编程可以消除编程过程中的懈怠大意,有效杜绝细节上的疏忽,可以提高代码的质量,因而受到不少国外公司的青睐,但国内应用好像比较少,我认为环境不成熟是最主要的原因。
分享到:
评论
27 楼 Ihavegotyou 2008-01-24  
结对是为了多层次,全方位,站在同一战线共同交流,沟通,进而有效解决问题。当然双方也有矛盾的时候,这时需要上级或自己内部协商解决。
    我和同事结队4个多月了(意思到结对本身只有1个多月),有一点体会。这个阶段主要集中代码合并,审核,测试计划,部分(业务、程序)设计,改善,优化。
    人总有疏忽的时候,总有思考不到位,总有相关知识残缺的时候,总有时间安排忙不过来的时候,两个结对,这些问题都能够及时,有效解决。
     ...好多人都提到这个的什么的什么"敏捷开发",在国内不行.....实际,至少"结对编程","测试驱动开发"是可行的.....前者,本质上反映了一个人的合作,协作能力,实际上,"团队精神"就可以从"结对"开始....后者,是反映一个人的作事习惯。把测试驱动开发做到位了,就能减少风险,加快原型设计.....
    只说结对,"不团结,不协作",就是中国的国情。那么改变这种国情,比认识到这种情形----在"结对"这种特定场合更为有利。
    "矛"与"盾"的统一体,从"结对"看来,是一个有效途径。把自己和对方放到一个水平线,你总会意识到自己的不足.....总会有积极地改善,完美自己.进而大家都得到提高。
另外,上司的决策,部分干预在整个过程中往往成了关键。
    整个"结对"过程中,心态,素质确实要求较高。"理解,支持,互助",欣赏对方优点,接受对方批评并积极改善,改进才是"结对"平和,理智走下去的必由之路。
26 楼 stevenwang 2008-01-21  
抛出异常的爱 写道
renavatio 写道
sg552 写道
窃以为, 结对的最主要目的,是为了提高工作效率。让人没有打瞌睡的机会。

俗话说:“男女搭配,干活不累”,最好是配对MM。
真的轮到了的话,与自己写没什么区别。

--------------------------
真精辟!
前段时间我跟一个mm结对,
可是都是她coding
我就搞点调研工作了。呵呵
25 楼 zqrain 2008-01-14  
gigix 写道
JavaInActoin 写道
hyhongyong 写道
结对编程,不一定要每时每刻都结对,不一定要每项模块开发都结对,不一定每个人都要结对。

是的,没见过哪个工厂在所有环节上都用双岗的。

又是这种似是而非的话。
结对不能过度,过犹不及,没错,都是绝对正确的废话。但是,有几家公司敢说自己是结对过度的?有几个人敢说?
明明绝大多数人都是做得不够,上班不时打晃走神,代码缺乏复审,这种时候说什么结对不要过度,有意思吗?


的确,不用说得太概念化!
如果结队好,为什么难以实施?经验不足的团队和组织,应该如何做?
如果不好,你是如何实施的?为什么说不好?
24 楼 ball_cao 2007-12-26  
renavatio 写道
sg552 写道
窃以为, 结对的最主要目的,是为了提高工作效率。让人没有打瞌睡的机会。

俗话说:“男女搭配,干活不累”,最好是配对MM。


看题目就明白楼主对敏捷没有深刻的认识
结对编程是敏捷的一种方法
不结对就不能敏捷么?
结对了就敏捷了么?
而且很多公司根本不具备结对的条件
你要改造座位,你要安排适当的人员搭配,加班的时候你还要协调两个人的工作时间,你要教育程序员要结对编程别结对聊天。
结对的目的是为了加强程序员和程序员之间的沟通和知识共享。如果你的程序员没有认识到这个目的(例如上面这个结对泡妞的),并朝这个方向努力,你很快会发现结对比不结对效果还差!
23 楼 sg552 2007-12-26  
看了GIGIX的评论,我发现他说话是我喜欢的风格,
一针见血,表达清楚
22 楼 renavatio 2007-11-01  
JavaInActoin 写道
是的,对于gigix来说,大多数东西都是废话,但放在其他人身上,就不一定了。

对特定技术来说。
21 楼 JavaInActoin 2007-10-31  
是的,对于gigix来说,大多数东西都是废话,但放在其他人身上,就不一定了。
20 楼 hyhongyong 2007-10-31  
gigix 写道
JavaInActoin 写道
hyhongyong 写道
结对编程,不一定要每时每刻都结对,不一定要每项模块开发都结对,不一定每个人都要结对。

是的,没见过哪个工厂在所有环节上都用双岗的。

又是这种似是而非的话。
结对不能过度,过犹不及,没错,都是绝对正确的废话。但是,有几家公司敢说自己是结对过度的?有几个人敢说?
明明绝大多数人都是做得不够,上班不时打晃走神,代码缺乏复审,这种时候说什么结对不要过度,有意思吗?
怎么叫没有意思?
有一些人正是因为不理解结对编程这种临时性、范围性、适用性才质疑结对编程的正确性。
只有认识到这一点,才能灵活应用结对编程。
19 楼 gigix 2007-10-31  
JavaInActoin 写道
hyhongyong 写道
结对编程,不一定要每时每刻都结对,不一定要每项模块开发都结对,不一定每个人都要结对。

是的,没见过哪个工厂在所有环节上都用双岗的。

又是这种似是而非的话。
结对不能过度,过犹不及,没错,都是绝对正确的废话。但是,有几家公司敢说自己是结对过度的?有几个人敢说?
明明绝大多数人都是做得不够,上班不时打晃走神,代码缺乏复审,这种时候说什么结对不要过度,有意思吗?
18 楼 JavaInActoin 2007-10-31  
hyhongyong 写道
结对编程,不一定要每时每刻都结对,不一定要每项模块开发都结对,不一定每个人都要结对。

是的,没见过哪个工厂在所有环节上都用双岗的。
17 楼 hyhongyong 2007-10-30  
结对编程,不一定要每时每刻都结对,不一定要每项模块开发都结对,不一定每个人都要结对。
16 楼 renavatio 2007-10-30  
Julian 写道
dearwolf 写道
这个是典型的标题党

非常同意标题党的说法,大标题带个空洞的内容,

小弟在项目中实验过结队,感觉结队开发适合找“沙和尚”那样的开发人员,本事刚够用,但听话,专注,稳重,“孙悟空”虽然本事大,但是骨子里是带着清高,经常把结对管理搞的乱七八糟还自以为是,猪八戒那样活泼的开发人员还比较少见。

   所以,结对成员之间对交流的要求比较高,水平差距也不能太大,否则也不会“敏捷”了。
15 楼 Julian 2007-10-25  
dearwolf 写道
这个是典型的标题党

非常同意标题党的说法,大标题带个空洞的内容,

小弟在项目中实验过结队,感觉结队开发适合找“沙和尚”那样的开发人员,本事刚够用,但听话,专注,稳重,“孙悟空”虽然本事大,但是骨子里是带着清高,经常把结对管理搞的乱七八糟还自以为是,猪八戒那样活泼的开发人员还比较少见。
14 楼 ds3783 2007-10-22  
XP  的确对开发人员本身的素质要求比较高,但确实能够大大提高软件开发的效率和质量。
当然,XP的实施不能过于盲目按照书上的讲述来做,我刚开始带项目就犯了这个错误。得出经验就是一点点来做,先抓TDD,然后下一步抓Pair Works,最后把XP的精华一步步应用到我们的开发过程中。
目前我们做了TDD后(当然还不够完善),感觉项目的开发进度有明显的加快,人员、技术的管理也变得非常轻松,这样我就有更多的时间做该做的事情,以往是天天被人追着问这要那的,现在都是我主动准备好文档去找其他部门(例如项目管理部门或者测试部门)商量事情了。
13 楼 focus 2007-10-20  
最近在项目组中 实行结对编程发现实行起来并不是那么容易,尽管在执行之前与项目成员讲述了结对编程的益处,同时大家也认识到他的作用,但在真正编程过程中发现还是其中一人在编写。
发现结对编程对编程人员的协作能力以及心态要求比较高。
12 楼 抛出异常的爱 2007-10-16  
renavatio 写道
sg552 写道
窃以为, 结对的最主要目的,是为了提高工作效率。让人没有打瞌睡的机会。

俗话说:“男女搭配,干活不累”,最好是配对MM。
真的轮到了的话,与自己写没什么区别。
11 楼 renavatio 2007-10-16  
sg552 写道
窃以为, 结对的最主要目的,是为了提高工作效率。让人没有打瞌睡的机会。

俗话说:“男女搭配,干活不累”,最好是配对MM。
10 楼 sg552 2007-10-15  
窃以为, 结对的最主要目的,是为了提高工作效率。让人没有打瞌睡的机会。
9 楼 focus 2007-10-14  
刚接触XP时,感觉里面的东西很新鲜:结队的编程、代码的重构等。但真正运用起来,特别是在一个团队中使用时感到不是那么轻松,XP作为一种非架构驱动的编程方式似乎对团队的每个成员个人编程能力要求比较高,否则使用XP就又回到过去的无设计的开发方式。
同时也感觉到单独使用XP在项目的开发中会遇到不少问题,项目不那么容易掌控。
8 楼 bcccs 2007-10-05  
gigix 写道
renavatio 写道
    从计算机科班出身的,太多人迷恋自己那一套了。当你和他讨论一个想法的时候,他们大多不会认真思考,多半会以自己的“实战经验“教导别人。
   

所以其中最高阶的一组被称为ph.D

和学历无关,没有倾听和理解能力的人多了去了。

相关推荐

    结对编程——敏捷开发.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语言程序设计》的教学中引入的一种新颖的教学方法。该方法的提出是为了提高学生的编程能力和兴趣,提高教学效果。结对...

    结对编程.zip

    结对编程

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

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

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

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

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

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

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

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

    结对编程-魔方1

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

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

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

Global site tag (gtag.js) - Google Analytics