1.什么是xp编程(极限编程):
XP是勇气,交流,反馈和简单。
XP是软件开发过程中的纪律,它规定你:必须在编程前些测试,必须两个人一起编程,必须遵守编程规范……。
XP是把最好的实践经验提取出来,形成了一个崭新的开发方法。
2. XP适用范围:
极限编程,也被叫做XP,适用于中小型团队在需求不明确或者迅速变化的情况下进行软件开发的轻量级方法学。
推荐使用范围为10人左右的团队
3.XP工作模式体现:
一、工作环境
二、立式晨会
三、结对编程
四、测试驱动开发
五、重构
六、持续集成
七、频繁地发布小版本
4.结对编程:
开发任务会细化分解为很多Task,一个Task的开发周期一般不超过2天。
每个Task的Owner会寻找一个Partner进行结对开发。
Task开发的次序由程序员们自己协商。他可以先作为Partner和其他Owner一起开发某个Task,然后再找另一个程序员作为Partner来共同开发自己承担的Task。
结对开发时,Task的Owner主要负责编码, Partner负责在一旁看Owner编程并在其编写有错误提出自己的意见,当其遇到困难时一起讨论、互相帮助完成任务
5.测试驱动开发:
在动手编码之前,必须先写功能测试脚本、单元测试脚本。
写好测试脚本后,开始编码、重构、运行单元测试、集成、运行功能测试,以此循环
6.重构:
减少重复设计,优化设计结构,提高技术上的重用性和可扩展性。
XP提倡毫不留情的重构。
任何人可以重构任何代码,前提是重构后的代码一定要通过100%测试单元测试后才能被Check-in
7.持续集成:
测试先行是持续集成的一个重要前提。
持续集成指不断地把完成的功能模块整合在一起。目的在于不断获得客户反馈以及尽早发现BUG。
随时整合,越频繁越好;集成及测试过程的自动化程度越高越好。
每次只有一个新增加部分在整合,而且必须运行功能测试
8.频繁地发布小版本:
发布过程应该尽可能地自动化、规范化。
不断地发布可用的系统可以告诉客户你在做正确的事情。
客户使用发布的系统,可以保证频繁地反馈和交流。
保证客户有足够的依据调控开发过程(增加、删除或改变需求)。
降低开发风险。
随着开发的推进,发布越来越频繁。
所有的发布都要经过功能测试。
9.XP的关键词:
测试优先原则
结对编程
持续集成
频繁小版本
不断重构
立式晨会
交流和沟通,“只有没有沟通不够的项目,没有沟通过度的项目”
分解任务、制定计划是关键一环
10.XP作用:
一、平稳的工作效率
平稳的工作效率指团队和个人在很长的时期内保持一定的开发效率。
保证了项目速度和计划过程的有效性和准确性;
保证了程序员可以持续地完成任务,团队可以持续地向客户交付可运行的系统;
结对编程已经加大了工作强度,并且和其它XP的规则一起提高了工作效率,使少加班和维持平稳的工作效率可能而且可行。
提倡平稳的工作效率,体现了XP以人为本的价值观。
二、高质量
测试优先、并坚持单元测试、每个版本进行功能测试的原则是保证了高质量的一个关键;
充分的沟通交流进一步减少了写低质量代码的风险;
结对开发模式在互相学习中会产出高质量的代码
三、Open
结对开发、每一处修改都需要测试等等规则使得实现集体拥有代码, “我们”的代码,而不是“我”的代码;
充分的沟通交流可以将每个人的知识、思想共享;
让每个人都知道项目的设计、计划、进展情况等信息;
大家都知道每个人都在做什么和怎么做;
四、对人的挑战
暴露自己的缺点,人的本性
懒惰
自尊
封闭
……
克服自己的缺点
高效率
不怕告诉别人自己不会,乐于问人
懂得尊重别人,乐于帮助别人
……
11.受益于XP:
一个曾经在XP模式下工作过的人,回到传统开发模式下才深刻体会到XP给他带来的财富。
在传统开发模式下他坚持每天有计划、总结,坚持测试驱动开发……
发现他总是按时下班甚至提前下班,可是同事们越来越多且越来越晚下班,是自己不认真?是同事们爱表现?……
都不是!!
是XP给他带来的受益终身的开发方式,他的同事bug量远远比他多,他只有不多的几个;同事们任务总是延时,而自己都是轻松按时完成……
爱卖艺
分享到:
相关推荐
一个略微描述了极限编程xp的PPT,和xp的一些发展。
极限编程资料 极限编程资料极限编程资料极限编程资料
极限编程XP教程为一部非常实用的敏捷化编程指南,可指导大家有话编码风格和效率
重构极限编程XP的实践与反思 书籍语言:简体中文 书籍类别:JAVA教程 整理时间:如题描述 资料格式:CHM格式
极限编程 (XP) 篇
极限编程 XP极限编程 XP资料,学习极限编程的网络收集资料
Extreme Programing
对比十几种软件开发模型 瀑布模型 演化模型 螺旋模型 喷泉模型 快速原型模型 智能模型 混合模型 敏捷开发 极限编程XP
Matt Stephens 对风靡一时的极限编程--XP进行的实践与反思,抽取XP中可重构的部分,以更加健壮的方式实现同样敏捷的目标,值得一看!
敏捷开发之极限编程。
网上关于极限编程的资料不是很多,所以我共享一份资源给大家,感觉不错
活用 XP-极限编程活用 XP-极限编程活用 XP-极限编程活用 XP-极限编程活用 XP-极限编程活用 XP-极限编程活用 XP-极限编程
【下载说明】 这里提供给大家的是《Extreme Programming Refactored: The Case Against XP》(重构极限编程——XP的实践与反思)一书的CHM格式英文版电子书下载。 <br>【作者简介】 Matt Stephens has been...
极限编程(xp)是适用于中小型团队在需求不明确或者迅速变化的情况下进行软件开发的轻量级方法学。本书是xp宣言,也是第一本有关xp的图书。 这本书介绍了xp背后的思想——它的根源、哲学、情节等。它将帮助读者...
重构极限编程_XP的实践与反思(PDF).rar
一本好书,架构必读---解析极限编程拥抱变化(XP)
《解析极限编程:拥抱变化 原书第2版 》介绍了XP背后的思想 它的根源 哲学 情节等 它将帮助读者选择是否在项目中使用XP时做出明智的决策 《解析极限编程:拥抱变化 原书第2版 》的另一个目的是帮助那些已经在使用XP的...
重构极限编程:XP的实践与反思.pdf重构极限编程:XP的实践与反思.pdf重构极限编程:XP的实践与反思.pdf重构极限编程:XP的实践与反思.pdf重构极限编程:XP的实践与反思.pdf
Sams出版的一本有关极限编程(XP,Extreme Programming)的书,深入浅出的介绍了XP编程的思想,原理和方法。
极限编程(XP)是一种经历过实践考验的轻量级软件开发方法学。制订计划是解决XP难题的关键一环,本书介绍了如何应用XP规划软件项目。 本书通过27章的篇幅探讨了怎样为XP项目的软件开发制订计划并跟踪开发过程。第...