结对设计

刚刚在推特上看到@virushuo推荐了@Tinyfoold的日志“结对设计”,并从文章的链接中看了InfoQ的两篇关于结对编程的文章。有点感触,在此与大家分享。

  1. 成功实施结对编程 http://www.infoq.com/cn/articles/adopting-pair-programming
  2. 结对编程的经济价值论 http://www.infoq.com/cn/news/2009/06/dollar-value-of-pair-programming

准确地说,并没有结对设计这个词,应该是结对编程(Pair Programming)。不过结对编程感觉更倾向于代码方面,而结对设计的范围明显扩大了,可以涉及到其他领域。

结对编程是一个编程模式(Programming pattern)。两个程序员并排坐在一台电脑前,面对同一个显示器,使用同一个键盘,同一个鼠标一起工作。他们一起分析,一起设计,一起写测试例子,一起编码,一起单元测试,一起整合测试(Integration Test),一起写文档等。基本上所有的开发环节都一齐肩并肩地,平等地,互补地进行开发工作。

详细信息可参照:Pair Programming

现在我在实习单位主要负责网页重构和专题页面设计,这个工作倒是不需要结对编程。不过我的座位的旁边的小鲁哥是个程序员,有时候我们会对一些功能的实现思路进行讨论。小鲁擅长代码,但对PHP和前端接触面比较窄;我不会代码,但是使用的程序比较多,平时也看看架构的东西;我们彼此可以有些互补,能学到很多东西,那种感觉真的很好,跟牛人在一起总是学得很快。不过我不会代码,所以无法达到真正的结对编程,因为不是很对等,只是在部分时刻达到结对的效果。

我这人啊,就是什么都学,基本也什么都不精。因为自己的朋友比较多,常常帮别人解决一些问题,所以学点东西比较泛,很多情况下我知道做一件事的途径以及具体的方法,但是却从来没有去做过,也不会做。不过我精通一门东西其实不难,比如编程,精通后基本一两年不怎么用也不会影响太大。而泛相比起来会难很多,我需要花很多时间去阅读一些东西,并做一定的整理。如果有一段时间没接触的话,之前阅读的很多东西的价值也会受到很大的影响,很可能一无用处了。要保持泛就得保持自己有足够的阅读时间,所以对于经常加班或者是学业太重的情况下,我很反感。我努力在提高自己的效率,但这需要保证有足够的学习时间。

我理想中的结对编程的环境是两个人在同一张办公桌的两侧,同一台电脑,两套显示器,两套鼠标,两套键盘。两个显示器显示不同的桌面,但支持桌面进行共享。这样可以很方面的把一篇文章或一段代码,共享给你的Partner。

等工作完全适应下来,能轻松的完成的时候。得静下心来学点PHP,做个小站,组个工作室,希望自己能帮忙做点小功能。学习PHP,并不想达到能开发大型系统的程序,我只想把它作为一种工具,作为自己大量信息的收集整理的工具。

您可能还对以下内容感兴趣

  • 无相关文章

目前有5条评论 Add your own

  1. Jutoy 说道:

    我是来沙发的~~~

  2. slyar 说道:

    我坐不住,程序员不适合我…

我有话说..