Re: [敏捷开发][结对编程(Pair Programming) ]

上面写得太多了,好像重点不太突出了,我觉得是不是采用结队编程,[color=red]一条关键的依据是:
判断我们代码需不需要重构,如果需要,结对编程就会提供很好的价值,包括代码正确性、严谨性、可扩展性等等,为代码的重构提供很好的基础,并且结队编程克服不想对自己代码进行重构的惰性。
如果判断我们对系统架构设计,有很成熟的经验,且需求的变更不会对设计造成太大影响,那么结队编程就消弱了存在的意义。[/color]

如果旁边有感觉不错的搭档,对于新的、陌生的问题特别是算法,我喜欢一起进行讨论。
比如有一次,对一个正方形路径遍历的算法解决问题,在正方形内,每条路径从起点(0,0)到终点(n,n)沿着从右向左,或从下到上行进,需求所有路径坐标,我考虑可以把从右向左的一步用1表示,从下向上的一步用0表示,那么一条有效路径就是n个1和n个0表示的一个字符串。
但是我考虑怎么找出这些字符串来呢,这时我的思维进入了对这些0和1如何排列组合的思维空间,很难跳出来,这时我的同事说,“有了,可以从0开始数,到二进制的1..10..0所有二进制数中,判断1的个数,如果1的个数是n岂不就是要找的路径嘛”
呵呵,就这样问题解决了。

在一个人考虑问题的时候,起初他的思维可能会放的很宽,但是随着问题的深入/进展,他的思维会越来越集中在某一部分,通常我们说陷入牛角尖了。
所以我们经常会有这样的体会,我们去趟洗手间,或在回家的路上,我们突然就找到了某个刚刚还百思不得其解的很好的解决方案。

这也就是结队编程的价值,它使我们随时都站在两个视角,一个具体微观、一个粗放宏观。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值