前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >21.【Kevin聊敏捷】XP极限编程之12最佳实践(一)

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

原创
作者头像
开心的Kevin
修改2020-08-03 10:16:44
6840
修改2020-08-03 10:16:44
举报
文章被收录于专栏:敏捷管理敏捷管理

极限编程的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)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、极限编程的分组
  • 二、编程圈 (Coding Circle)
    • 2.1 结对编程(Pair Programming)
      • 2.2 代码重构(Refactoring)
        • 2.3 持续测试(Testing)
        相关产品与服务
        TAPD 敏捷项目管理
        TAPD(Tencent Agile Product Development)是源自于腾讯的敏捷研发协作平台,提供贯穿敏捷研发生命周期的一站式服务。覆盖从产品概念形成、产品规划、需求分析、项目规划和跟踪、质量测试到构建发布、用户反馈跟踪的产品研发全生命周期,提供了灵活的可定制化应用和强大的集成能力,帮助研发团队有效地管理需求、资源、进度和质量,规范和改进产品研发过程,提高研发效率和产品质量。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档