21.【Kevin聊敏捷】XP极限编程之12最佳实践(一)

2020-08-03 10:16:44 浏览数 (1)

极限编程的12个最佳实践是大家在学习极限编程绕不过的点,为了便于大家理解和学习,我们可以分为四个实践圈。

一、极限编程的分组

极限编程根据类型的不同分为:

  • 编程圈 (Coding Circle)
  • 团队圈 (Team Circle)
  • 流程圈 (Process Circle)
  • 产品圈 (Product Circle)
图一 极限编程的12个最佳实践图一 极限编程的12个最佳实践

二、编程圈 (Coding Circle)

编程圈包括:结对编程(Pair Programming),代码重构(Refactoring),持续测试(Testing)

图二 编程圈图二 编程圈

2.1 结对编程(Pair Programming)

结对编程是两个开发者在同一台电脑上工作,一个类似于驾驶员的角色,一个类似于领航员的角色。即一个负责编写代码,一个负责代码的检查使之可读性和正确性。极限编程认为这样的方式更高效。

其实这就有点像中国的很多公司都在做的代码评审,只不过这是一种非正式的代码评审而已。虽然国内很多开发人员都听说过结对编程的方法,但实际上很少有公司去实践。因为很多公司认为这是在浪费人力:明明两个人可以做两个模块的事情,你现在将两个人弄来处理一个模块。那工作量不是直线减少了一半,项目进度如何去保证。虽然有可能代码质量会有所提高。

我个人认为结对编程只能在小型的实验性的项目中去做。真正的大项目是不敢用这种编程方法的。

图三 结对编程 (Pair Programming)图三 结对编程 (Pair Programming)

2.2 代码重构(Refactoring)

代码重构是指在不改变系统行为的前提下,重新调整、优化系统的内部结构以减少复杂性、消除冗余、增加灵活性和提高性能。重构不是XP所特有的行为,在任何的开发过程中都可能并且应该发生。

这样好处是:

  • 不必要的重复
  • 高效沟通
  • 通俗易懂
图三 代码重构(Refactoring)图三 代码重构(Refactoring)

2.3 持续测试(Testing)

极限编程强调“测试先行”,即我们常说的“测试驱动开发”-Test Driven Development(TDD)。这要求我们在编码开始之前,首先将测试写好,而后再进行编码,直至所有的测试都得以通过。

图四 测试驱动开发 (TDD)图四 测试驱动开发 (TDD)

0 人点赞