【软件工程】极限编程

7 篇文章 0 订阅

极限编程(XP)是在一种颇有争议的软件开发方法。其第一步是软件开发小组确定客户希望产品支持的各种特性。对于每个特性,开发小组向客户通报实现这个特性所需要的时间和花费。

客户使用成本-效益分析法选择每个后续的构件所包含的特性,根据开发小组提供的时间、成本估算和该特性给客户带来的潜在收益来进行选择。提议的构件分成更小的部分,称为任务。

一个程序员首先制定出任务的测试用例,采用TDD,然后两个程序员在一台计算机前工作(结对编程),实现任务,确保全部测试用例正确工作。两个程序员每15~20分钟交替操作键盘,不进行键盘操作的程序员仔细检查同伴的代码。完成以上操作后,将这个任务集成到产品的当前版本中。

理想情况下,实现和集成一个任务只需要几个小时。通常结对的程序员并行地实现任务,以便集成可以连续地进行。如果可能,每天更换小组成员的编码同伴。从其他组员处的学习会提高每人的技能水平。各任务所使用的的TDD测试用例保留下来并应用到所有进一步的集成测试中。

结对编程的特点:

  • 要避免编写测试用例的程序员继续完成编码实现
  • 当开发者离开一个项目,其积累的所有知识也离开了
  • 经验不丰富的开发者可以从经验丰富的一方学习经验
  • 强调无我小组

结对编程的弊端:

  • 要求大块的不被打断的时间
  • 不适用于害羞或专横的个人
  • 不适用于两个没经验的程序员

XP的特性:

  • XP小组的计算机设在一个大房间的中心,大房间中有许多彼此相连的小隔间
  • 一个客户代表一直与XP小组一起工作
  • 没有一个人能连续两周超时工作
  • 没有规格说明,而是XP小组的所有成员一同完成规格说明、分析、设计、编码、测试
  • 在建造出各构件前没有概要设计,建造产品的过程中设计在不断调整(refactoring)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值