SlideShare a Scribd company logo
结对编程

Josh Chen
josh@fever38.com
简单介绍
Pair Programming ,是很奇妙东西,是目前
工程界最时髦的思想,但是一般工程人员
不好接受的东西。 Why ?
– pair programming 会打破一个人工作的界线
。
– 传统的软体工程讲求 人 / 时间。
- 工作方式的转换。 目前一般人的工作方式会常
常切换到不同的工作
window ( QQ , editor , email ,
browser),Pair Programming 强调 focus 在
coding 。
结对(想象画面图)
好处
• 保证质量,高质量保证开发时段涵盖了软
件开发的整个生命周期,不容易出问题
• 团队协作,高效地找出代码中的问题。
• 老带新,快速进入状况。
• 互相学习大家开发的思维,方式,增加开
发效率
• 可以不用那么多的文档。
调试期
•
•
•
•
•

对于有不同习惯的编程人员,可以在起工
作会产生麻烦,甚至矛盾。
有些工程师喜欢单兵作战。
不同的工程师会不同的解法,可能会对问
题各执己见。
有经验的老手可能觉得指导新手很麻烦。
新手在面对老手时会显得的紧张和不安,
而出现低级错误。
开发流程
•

绿色代表成本变小
红色代表三合一

Resource * 1
设计

撰写代码

Code
Review

除错

维护

交接

•

Resource * 2
设计

撰写代码
Code Review
训练

除错

维护 * 2

交接
Pair 如何简化工作
Programmers' Hardest Tasks

绿色代表简单化
Naming things 49%
Explaining what I do (or don't do) 16%
Estimating time to complete tasks 10%
Dealing with other people 8%
working with someone else's code 8%
Implementing functionality you disagree with
3%
Writing documentation 2%
Wrtiing tests 2%
Designing a solution 2%

https://plus.google.com/107296425380776996003/posts/6UskQJPKc4S
需要结对编程的地方
• 1. 东西复杂度高,需要一起讨论的设计。
• 2. 还没有形成架构。
• 3. 系统中重要的点,需要 2 人以上维护
。
• 4. 需要透过结对编程来训练团队
member 。
实践方法
•
•
•
•
•
•
•
•
•

1. Leader 在接到 project 后开始拆解 project 。
2. 分解成细部的 task ,并定义出那边需要结对编程,结对编程的目
的意义。
3. 指定参与结对编程的目标人员。
4. 针对细部的 task 开始做前期的讨论与设计(分成 Owner 跟
supporter , 通常 Supporter 为资深人员)。
5 如果讨论的结果有争论可以寻求 Team 的共同讨论。
6. 通常由 owner 开始 coding , supporter 负责支持。不过在一
定时间。 两两交换。
7. pair 一次的时间大概以 50 分钟集中火力工作,在休息 15 分钟
,反复开始。
8. Supporter 需要有可以有上网查询资料的方法。
9. 在做 pair programming 的时候尽量排除其它人的打扰,关闭
QQ ,停止接收 email ,或者回信等等事项,专注在 coding 本身。
其他事情,可以等非 pair 的时间在做。
避免
• 避免全程 Pair ,比较好的是必然说一个礼
拜三天,或者一天 X 小时。
• 区分 Owner 和 Supporter 的职责 ,每一个
task 还是需要有负责人。
• 避免为了 Pair 而 Pair 当产生适应不良的
状况,请反映给主管。

More Related Content

PDF
軟體專案管理與開源精神
PPTX
SharePoint 项目实施团队的成功之道
PDF
怎样成为优秀软件模型设计者
PPTX
移动开发敏捷实践
PPTX
版控實務
PDF
[Chinese version] DevOps Now And Future
PPTX
前端測試
PDF
Djt22 justinliu djt.qq.com
軟體專案管理與開源精神
SharePoint 项目实施团队的成功之道
怎样成为优秀软件模型设计者
移动开发敏捷实践
版控實務
[Chinese version] DevOps Now And Future
前端測試
Djt22 justinliu djt.qq.com

Viewers also liked (20)

PDF
Calendari escolar
PPT
Tòtem 3
PPT
Śniadanie Daje Moc
PPT
Las Setas
PPT
Smart lighting gscholar
PDF
5 adımda ERP yazılımı seçimi
PPTX
2013 11-11 mokyklu apklausa-vilniaus m
PDF
Episode4
PPTX
Mirian janeth tomala ramirez
PPTX
BLIZKO Ремонт Пермь. Разбор макетов
PPTX
Com ser un bon pilot de motocicletes
PDF
Anduriña posterior portada 2012 2013
ODT
Atividade first class
PPT
Kaixo neska
PDF
Toimeentulotukea Kelasta
PPT
Śniadanie Daje Moc
PDF
Ponte Levadiça e simulação de um protótip.
PPTX
Работа участников краш-теста молодежных бизнес-идей
Calendari escolar
Tòtem 3
Śniadanie Daje Moc
Las Setas
Smart lighting gscholar
5 adımda ERP yazılımı seçimi
2013 11-11 mokyklu apklausa-vilniaus m
Episode4
Mirian janeth tomala ramirez
BLIZKO Ремонт Пермь. Разбор макетов
Com ser un bon pilot de motocicletes
Anduriña posterior portada 2012 2013
Atividade first class
Kaixo neska
Toimeentulotukea Kelasta
Śniadanie Daje Moc
Ponte Levadiça e simulação de um protótip.
Работа участников краш-теста молодежных бизнес-идей
Ad

Similar to Pair Programming (结对编程) (20)

PPTX
2012/05/23 AU Talk - 讓事情發生
PDF
Djt22 justinliu djt.qq.com
PPTX
Developer vs designer
PDF
课件开发工具整体解决方案(知行堂)【zxt123.com】
PDF
Project GATE 的敏捷實踐之路
PPTX
打造完全免費的,JAVA專案持續整合環境_ 2013 java developer_day_by 李書豪
PPT
2012,我的技术之选
PDF
Geo science cafe 如何找到一份满意的工作
PDF
From Coders to Builders of the Intelligent World
PDF
在生命轉彎的地方 - 從軟體開發職涯,探索人生
PDF
Progressive Enhancement
PPTX
2021 ee大会-旷视ai产品背后的研发效能工具建设
PDF
Processing 基礎教學
PDF
History of share
PPTX
Frontend devops-v1.0
PPTX
專案開發實務
PPTX
Nb的敏捷
PDF
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
PPTX
slide 1 - Software Engineering basics.pptx
PDF
如何以自訂語言加速程式開發與增加重用性-Domain-specific language技術實際應用
2012/05/23 AU Talk - 讓事情發生
Djt22 justinliu djt.qq.com
Developer vs designer
课件开发工具整体解决方案(知行堂)【zxt123.com】
Project GATE 的敏捷實踐之路
打造完全免費的,JAVA專案持續整合環境_ 2013 java developer_day_by 李書豪
2012,我的技术之选
Geo science cafe 如何找到一份满意的工作
From Coders to Builders of the Intelligent World
在生命轉彎的地方 - 從軟體開發職涯,探索人生
Progressive Enhancement
2021 ee大会-旷视ai产品背后的研发效能工具建设
Processing 基礎教學
History of share
Frontend devops-v1.0
專案開發實務
Nb的敏捷
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
slide 1 - Software Engineering basics.pptx
如何以自訂語言加速程式開發與增加重用性-Domain-specific language技術實際應用
Ad

Pair Programming (结对编程)