极限编程简介

极限编程 (XP) 是于 1998 年由 Smalltalk 社群中的大师级人物 Kent Beck 首先倡导的。
下面是极限编程的有效实践:
1、    完整团队
         XP 项目的所有参与者(开发人员、客户、测试人员等)一起工作在一个开放的场所中,他们是同一个团队 的成员。这个场所的墙壁上随意悬挂着大幅的、显著的图表以及其他一些显示他们进度的东西。
2、    计划游戏
         计划是持续的、循序渐进的。每 2 周,开发人员就为下 2 周估算候选特性的成本,而客户则根据成本和商 务价值来选择要实现的特性。
3 、客户测试
         作为选择每个所期望的特性的一部分,客户可以根据脚本语言来定义出自动验收测试来表明该特性可以工 作。
4 、简单设计
         团队保持设计恰好和当前的系统功能相匹配。它通过了所有的测试,不包含任何重复,表达出了编写者想 表达的所有东西,并且包含尽可能少的代码。
5 、结对编程
         所有的产品软件都是由两个程序员、并排坐在一起在同一台机器上构建的。
6 、测试驱动开发
         编写单元测试是一个验证行为,更是一个设计行为。同样,它更是一种编写文档的行为。编写单元测试避 免了相当数量的反馈循环,尤其是功功能能验证方面的反馈循环。程序员以非常短的循环周期工作,他们 先增加一个失败的测试,然后使之通过。
7 、改进设计
         随时利用重构方法改进已经腐化的代码,保持代码尽可能的干净、具有表达力。
8 、持续集成
         团队总是使系统完整地被集成。一个人拆入( Check in )后,其它所有人责任代码集成。
9 、集体代码所有权
         任何结对的程序员都可以在任何时候改进任何代码。没有程序员对任何一个特定的模块或技术单独负责, 每个人都可以参与任何其它方面的开发。
10 、编码标准
         系统中所有的代码看起来就好像是被单独一人编写的。
11 、隐喻
         将整个系统联系在一起的全局视图;它是系统的未来影像,是它使得所有单独模块的位置和外观变得明显 直观。如果模块的外观与整个隐喻不符,那么你就知道该模块是错误的。
12 、可持续的速度
         团队只有持久才有获胜的希望。他们以能够长期维持的速度努力工作,他们保存精力,他们把项目看作是 马拉松长跑,而不是全速短跑。
 
    极限编程是一组简单、具体的实践,这些实践结合在形成了一个敏捷开发过程。极限编程是一种优良的、通用的软件开发方法,项目团队可以拿来直接采用,也可以增加一些实践,或者对其中的一些实践进行修改后再采用。
         极限编程的核心思想在于:从长远看,早期发现错误以及降低复杂度可以节约成本。极限编程强调我们将任务 / 系统细分为可以在较短周期解决的一个个子任务 / 模块,并且强调测试、代码质量和及早发现问题。通常,通过一个个短小的迭代周期,我们就可以获得一个个阶段性的进展,并且可以及时形成一个版本供用户参考,以便及时对用户可能的需求变更作出响应。

你可能感兴趣的:(编程,软件测试,单元测试,敏捷开发,XP)