1、XP:Extreme Programming 极限编程
¨XP实际上是一种经历过很多实践考验的一种软件开发的方法
¨它诞生了大概有5年
¨XP是以开发符合客户需要的软件为目标而产生的一种方法论
¨XP认为代码质量的重要程度超出人们一般所认为的
2 XP的四个观点:
交流
¨以人为本
¨在开发组间交换成员
¨Startup会议
¨版本发布会
简单
¨需求尽量的简单
¨设计尽量的简单
¨代码尽量的简单
¨文档尽量的简单
¨XP 就是打赌。它打赌今天最好做些简单的事...而不是做更复杂但可能永远也不会用到的事。
反馈
¨更早和经常来自客户、团队和实际最终用户的具体反馈意见为您提供更多的机会来调整您的力量。反馈可以让您把握住正确的方向,少走弯路
¨尽快发布新版本
¨客户应该是小组的一员
¨用户选择CRC卡
勇气
¨勇敢的重构
¨敢于所有人拥有代码
¨敢于极限(把好的方法做到极至)
¨勇气存在于其它三个价值的环境中。它们相互支持。需要勇气来相信一路上具体反馈比预先知道每样事物来得更好。需要勇气来在可能暴露您的无知时与团队中其他人交流。需要勇气来使系统尽可能简单,将明天的决定推到明天做。而如果没有简单的系统、没有不断的交流来扩展知识、没有掌握方向所依赖的反馈,勇气也就失去了依靠。
3、XP的原则:
计划
¨1.填写用户故事卡片
¨2.通过发布计划会议确定开发日程
¨3.频繁的发布小的版本
¨4.计算项目开发“速度”
¨5.一个项目划分成多个开发周期
¨6.通过周期计划开始一个周期
¨7.在开发组间交换成员
¨8.每天开始的时候进行一次“简便会议”
¨9.当xp 出问题的时候“修复”它。
设计
¨1.简单性
¨2.选择一个系统隐喻
¨3.在设计会议时使用CRC 卡
¨4.通过“侦察”来降低风险
¨5.在开始不要设计太多的附加功能
¨6.任何时候只要有可能就要refactoring
¨设计最高境界:代码设计
编码
¨1.客户应该是小组的一员
¨2.编码必须写到规定的水平
¨3.编码之前先写单元测试
¨4.所有的代码都由两个人完成
¨5.同一时间只有一组(2 个)人集成代码
¨6.代码经常整合
¨7.所有人拥有所有代码
¨8.把优化工作放在最后
¨9.不超时工作
测试
¨1.所有的代码都必须有单元测试
¨2.所有的代码在发布之前必须通过所有单元测试
¨3.当一个BUG发现时,就增加新的测试
¨4.我们经常运行验收测试,并公布分数
¨推荐工具:Junit
4、XP的目标
¨产生高质量的软件却:
¨永不加班
¨永不加班
¨永不加班
¨永不加班
¨永不加班