实战 TDD(9):Pair Programming

在这里插入图片描述
Pair (结对)已经不是什么新鲜的事情。工作中我们进行 Pair。但是也会经常发现一个问题:“两个人单纯的坐在一起工作或者被领导命令坐到一起工作,并没有什么工作效率提升的“。工作中许多人对 Pair 这个词的理解多于 Pair 应该怎么做的理解。这篇文章将详细描述关于 Pair 的中的详细细节,主要设计内容如下:

  1. 什么是 Pair Programming?
  2. 为什么我们要做 Pair Programming?
  3. Pair Programming 过程中经常遇到的问题(14 个常见问题)
  4. Pair 的扩展。

这篇文章并不涉及到具体的代码,但是了解清楚 Pair Programming 之后能够让我们在工作中事半功倍。

91 什么是 Pair programming?

先回顾一段历史,1999 年《解析极限编程-拥抱变化》中提出了XP(极限编程),而 Pari Programming 是 XP 的核心实践之一。XP的信条是:如果一个实践有价值,我们就把它做大极致。Pair Programming 随着 20 多年的实践一样已经拥有了多种形式和多种工具。

关于 Pair Programming 的理解分为广义的理解和狭义理解:

(1)广义理解:两名 Dev / BA / QA 等 坐在一台电脑前开发软件;

(2)狭义理解:两名 Dev 坐在一台电脑前开发软件。

上面描述的是 Pair Programming(结对编程),经过20多年,我们做很多事情都可以都可以采用 Pair (结对)的形式,而不仅仅在局限在写代码上。

Pair Programming 的形式:

**(1)键盘/鼠标式。**如果在 YouTube 上搜索 Pair Programming 会搜索到两名小朋友坐在电脑前,一个人操作鼠标、一人操作键盘。现实工作中我至今没有使用过这种方式。

**(2)Ping-Pong 形式。**经常使用的一种方法。比如 TDD 过程就可以采用 Ping-Pong 形式完成,A 编写测试,B 编写实现,B 编写测试,A 来完成实现。在 Ping-Pong 形式中会遇到两人抢键盘的问题,这个使用我们可以使用 switch 方法,轮流交换,确保一个时间只有人来操作。

(3)Navigator-Driver 式。 领航员-驾驶员模式,看过汽车拉力赛的朋友会注意到一辆车上会坐着两人,一名领航员,一名驾驶员。领航员聚焦在实现宏伟目标,Driver 聚焦如何实现。比如前往弯道领航员和驾驶员都期望过弯,领航员会发出指令,前方 200 米发卡弯,下坡,路面有碎石头,驾驶员来控制油门、档位、方向来过弯。Pair Programming 使用这种方式,两人需要首先针对问题达成共识&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值