关于星际与XP的结对编程
在XP中,最让人困惑,也是在实际XP实践中实施得最少的就是结对编程,很多人不理解:XP其它的我都赞同,但是为什么要让两个人在同一台机器上编码?一个键盘两个人抢着打?空着别的机器干吗?
如果是跟我差不多时期读大学的朋友,一定有在宿舍中与别人酣战星际的经历,星际这个游戏不仅需要大量的微操和还要有全局战略意识,特别是在战争中期,不但要微操前线数量庞大的部队,还要注意整体的战略布局,如果跟高手之间的战争还要派运输机到敌人后方进行骚扰,这个时候自己往往已经是头昏脑涨不是忘造兵就是忘记抢矿(这个和程序员的工作真还有点像,在任务重工期紧的时候,不仅要去去计算内存地址还要注意设计模式)。
假如两个人一起玩就不一样了,你只要注意操作,同学可以帮你策划战略,到了差不多的时候还会提醒你应该去补农民或者出反隐形,哪怕是水平比你差的同学,作用也非常大,整局玩下来意识清晰头脑清醒,绝少出现忘记造什么建筑或者兵种的失误,而且菜鸟的还可以通过这种方式学习到高手的技巧,迅速提升水平。
大家一定知道我想说什么,对了,XP的结对编程的道理跟这个差不多,如果身边有一个人知道你具体在做什么,知道你脑袋里的想法,他可能会提醒被你不小心忽略了的东西,在碰到问题时能直接帮你出谋划策(不需要你花费一个小时先去让他了解问题是怎么回事),能够帮你理清思路规划代码,这是两个人分别在电脑上各干各的工作方式做不到的,也许项目组降低了一些编写效率,但是却减少了大量调试BUG的时间。