极限编程的编程实践分为这个几方面:
结对编程
结对编程的做法,我认为大家都可能已经知道,就是两人一起编程,定时结对,循环结对,这里就不用再赘述了,
我主要想说说的是,结对编程的优点:
我想,结对编程的第一个好处就是头脑风暴,大家可能都有过这样的学习经历,当碰到一个问题的时候,你拿这个问题去问别人,当然对方可能根本就不知道问题怎么解决,但是当你问他的时候可能会在他还没有弄明白你要问的问题的时候,你已经找到了问题的解决办法,我认为这就是头脑风暴的作用。另外一个更重要的作用大家都知道,当然就是拓展思路,这里就不用多说了。
第二个优点是多人掌握核心技术,不会由于主要核心人员离职而导致核心技术流失。
第三个优点是互相促进互相激励,形成积极向上的开发氛围,使对消极怠工的一种有力鞭笞。
及时测试
测试大家都做过,可能大部分还有专门的测试部门,测试的及时性直接关系到了软件的稳定发布,我们还要注意到专门测试部门测试后发现问题再转发给开发部门,这样来回其实增长了软件开发的路径,导致更多的软件延时。
而极限编程强调的是开发人员自动测试,要求开发人员在开发之前先写一个failing test ,这样有几个好处,第一,可以让开发人员在写之前形成比较完整的思路。第二,编写完马上就可以知道其中的问题,功能是否实现,增加测试的可用性。第三,降低了测试的粒度,有利于发现更多问题。
日日发布
这个应该是集成的内容,我认为,这和开发和测试也有关系,每天发布,可以及早发现其他模块的更改对系统其他部分造成的影响,这样可以提高测试的效率
日日发布的其他优点我们放在集成中再说
好了,今天就说到这吧