极限编程(XP):原理、规划与实践
极限编程的“极限”之处
极限编程(XP)由十二项实践来定义,乍看之下,其中很多实践并非全新的内容,它们在现有的软件工程方法中或多或少都有体现。那么,XP 的独特与“极限”之处究竟在哪呢?主要体现在以下两点:
1. 轻量级 :XP 真正聚焦于软件系统的编程工作。
2. 极致实践 :XP 将最佳实践发挥到极致。Kent Beck 把每项实践想象成控制板上的旋钮,将每个旋钮都转到最大,最终形成了 XP。具体表现如下:
- 如果代码审查有益,那就持续进行代码审查(结对编程)。
- 如果测试有益,那么每个人都应时刻进行测试(单元测试),甚至客户也参与进来(验收测试)。
- 如果设计有益,就让设计成为每个人日常工作的一部分(重构)。
- 如果追求简单有益,那就始终争取最简单有效的解决方案。
- 如果架构很重要,那就确保每个人都始终参与架构的创建和优化(系统隐喻)。
- 如果集成测试有益,那么集成和测试应成为持续进行的工作(持续集成)。
- 如果短迭代有益,那就让迭代尽可能短,以小时或天为单位,而非周和月(规划游戏)。
各项实践之间相互关联,单独来看,每项实践都可能存在潜在的致命缺陷。例如,允许团队中的任何人在任何时候更改系统的任何方面,可能会导致混乱甚至无政府状态。但这并非孤立的行为,它是 XP 十二项实践的一部分。如果采用了全部十二项实践,那么这种更改就变得可行,因为它会得到测试、持续集成、结对编程等实践的支持。
| 实践 |
|---|
超级会员免费看
订阅专栏 解锁全文
35

被折叠的 条评论
为什么被折叠?



