Extreme Programming (2)

呵呵,这里呢要切入正题咯……

 

XP ,虽说是一种相对比较新颖的设想,不过仍然少不了 Teamwork

 

相对与传统的,它显得十分轻量(lightweight),基本价值观,这个引用下原文,就是交流、朴素、反馈和勇气

 

在这个团队里面,当接手一个项目的时候,开发人员会把项目分划更为细致,针对不同的需求,先确定出不同的模块,这里给这些基于需求提出的模块起一个好听的名字,叫UserStory。当然 UserStory的具体如何分划在很大程度上取决于客户。客户也是其中的参与者

 

然后,并不是一个人接手一个Story,而是分划为小组。小组对这个UserStory进行评估,估算一个速度。这个过程美名曰StoryEstimates

 

然后就是开始着手写代码。XP一个很显著的特点在这里体现出来了,它往往强调先写测试代码。这个和普通的单元测试(UnitTest)差别不是很大,不过它着重先写测试。因为当时大致框架已经确立,写测试代码就是基于已经公开但却还未实现的接口。随着代码的逐渐实现,测试一个个通过,找出BUG,及时修正。

 

随后是正式步入开发写代码阶段。这个阶段是常常被划分为若干周期(Iteration)。周期的划分界限要根据实际情况,一般第一个周期的目标是要完成其中最为核心的 UserStory

 

N iteration过去了,代码基本上完工了。

 

现在要做的是整合,再测试。

 

把已经开发好的 UserStory放一起,使之成为一个大块,我们称此过程为 Continuous Integration

 

最后,再首发的release 版出厂前,要做的就应该是再基于整体优化代码,叫Refactoring

 

这是一个软件开发周期,与一般的传统开发有着一些本质特点的区别。

 

我们再看看具体开发中的人与人之间的关系是怎样。

 

当初XP的倡议者建议是所有开发人员最好在同一间大房子内工作,带日常茶点等供应,每周40小时,不加班,每日要开一个早会,每日工作完成后可以一起玩电脑游戏……

 

哇……听起来蛮不错的,呵呵,其实我也真想体验下。

 

不过既然名曰“极限编程”,肯定必有体现极限之处。

 

Extreme 原意是指要打破传统思维,将软件开发的过程,结果达到最好!

 

其中有一点是蛮夸张的,也是与传统很不一致的,就是说代码是由两个程序员在同一台电脑上完成。呃……这里说这个也当然不是推崇此点,至于利弊权衡问题还是交给读者咯。

 

理想状态下,好处是蛮多的,比如说保证一段代码经过了复核和双重测试。貌似有点浪费时间和精力。是不是真的这样?有人做了专门调查,得到的结果是与估计恰恰相反

 

这种两人合作式编程,也有个好听的名字,叫 Pair Programming

 

呵呵……

 

基本上该介绍的也差不多了,这些呢,也可以说是一些软件工程的思想吧,不过略有另类。如果有其他看法,非常欢迎在此提出了。

 

到假期了,我会多多更新我的CSDN BLOG的。谢谢大家支持哦~  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值