TDD

极限编程提出了哪些实践?

2020-06-09  本文已影响0人  袁慎建

在极限编程领域,不得不提的人当属Kent Beck,最早的一本关于极限编程的书就出自他手,该书后来被誉为极限白皮书 -- 解析极限编程 : 拥抱变化(英文原版于1999年问世)。

极限编程白皮书

在1999发布的极限编程白皮书中,Kent Beck提出了12项实践:

  1. Planning Game(计划游戏)
  2. Small Releases(小版本)
  3. Metaphor(隐喻)
  4. Simple Design(简单设计)
  5. Testing(测试)[自动化测试,测试驱动开发]
  1. Design Improvement(设计改进 | 重构)
  2. Pair programming(结对编程)
  3. Collective Code Ownership(集体所有权)
  4. Continuous Integration(持续集成)
  5. 40 Hours week(每周工作40小时)
  6. On Site Customer(现场客户)
  7. Code Standard(编码标准)

极限编程白皮书第二版

Kent Beck在解析极限编程 : 拥抱变化第二版(英文版于2004年问世),在原来的基础上做了一些修改和扩展,并给出13项基本实践:

而把一些实践定义在扩展实践上,包含不限于:

Ron Jefferies Model

Ron Jefferies是极限编程的三位创始人之一,另外还有一个是Ward Cunningham(Wiki的发明人)。

Ron Jefferies 2011年5月16日在其博客描述了一个模型来概括极限编程的实践,

图片来自:https://ronjeffries.com/xprog/book/whatisxp/

在这个模型中,他将13项实践划分在三个圈中:

  1. 内圈:开发人员视角
    • Test-Driven Development(测试驱动开发)
    • Refactoring(重构)
    • Pair Programming(结对编程)
    • Simple Design(简单设计)
  2. 中圈:团队整体视角
    • Continuous Integration(持续集成)
    • Metaphor(隐喻)
    • Code Standard(编码标准)
    • Collective Code Ownership(集体所有权)
    • Sustainable Pace(可持续的步伐)
  3. 外圈:交付管理视角
    • Customer Test(客户测试)
    • Planning Game(计划游戏)
    • Whole Team(全功能/完整团队)
    • Small Releases(小版本)

两个不同出处的实践相差不多,Ron Jefferies的模型中增加了Customer Test其实是跟XP白皮书的Test中的Customer Acceptance是一个东西。而Sustainable Pace跟每周工作40小时表达一个意思。不同的是Ron Jefferies的模型中增加了一个Whole Team(全功能团队),这个是在白皮书没有具体提到的。

现在Ron Jefferies的这个模型在业界中较广的。

待续

上一篇 下一篇

猜你喜欢

热点阅读