惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

M
MIT News - Artificial intelligence
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
博客园 - Franky
腾讯CDC
T
Tailwind CSS Blog
Recent Announcements
Recent Announcements
V
V2EX
N
Netflix TechBlog - Medium
量子位
Jina AI
Jina AI
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
G
Google Developers Blog
爱范儿
爱范儿
博客园 - 叶小钗
D
Docker
MongoDB | Blog
MongoDB | Blog
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss

浮华生

Elasticsearch 检索性能优化 - 浮华生 舆情监控系统综述 - 浮华生 2024 半年度总结 - 浮华生 2023 年终总结 - 浮华生 异地机器组网方案 - 浮华生 Kubernetes 部署 Elasticsearch 和 Kibana - 浮华生 2022 年终总结 - 浮华生 RabbitMQ connection channel 的关系 - 浮华生 Kafka Java 客户端 Producer 原理分析 - 浮华生 RabbitMQ 和 Kafka 应用原理简单对比 - 浮华生 阿里云 OpenSearch 介绍 - 浮华生 Golang Array 和 Slice 区别 - 浮华生 Mac OS 下打造 golang nvim 编程环境之基础配置 - 浮华生 电商搜索技术总结 - 浮华生 电商搜索业务总结 - 浮华生 2021 年终总结 - 浮华生 Cypress 实践总结 - 浮华生 年终总结 - 浮华生 关于我 - 浮华生 使用 cucumber 进行行为驱动开发(BDD) - 浮华生 微服务应用集成 SpringCloud 步骤 - 浮华生 电商搜索数据同步方案 - 浮华生 通过一道数值转换题重温计算机补码 - 浮华生 macOS 系统推荐的一些软件 - 浮华生 DevOps 实施规划(持续更新) - 浮华生 rabbitmq 如何提高可靠性并保证消费端幂等 - 浮华生 AMQ Model总结 - 浮华生 RSocket 介绍 - 浮华生 面向对象的理解 - 浮华生 企业平台技术框架 - 浮华生
结对编程 - 浮华生
浮华生 · 2019-12-26 · via 浮华生

在日常开发中常常在同一组内的成员虽然都负责同一个系统,但基本上是自己开发自己的,这样所带来的问题就是如果一个人请假了并且他负责模块出了问题急需解决,而此时团队的其他小伙伴要一点一点地扒代码,小心翼翼的闭坑,这应该是国内中小公司的常态。而结对编程恰好能解决这样的问题。

结对编程来源于Extreme programming(XP),常常与 TDD 一同使用,对开发人员的要求较高,但是产出的代码质量也会提升,常用的结对编程有两种模式:

driver-navigator

用俗一点的话来讲这样模式就是,新手和老司机,就像考驾照的时候,你坐在驾驶位而教练坐在副驾,教你什么时候该干嘛。dirver-navigator 在公司场景的应用就是一个新入职的员工或者学员由一个经验丰富的程序员带着,这样的好处是能快速填补空缺,让新员工尽快实现自己的价值。

ping-pong

这种模式就是想我们平时玩的乒乓球,你打过来我打回去,适合两个水平相当的人共同开发,结合 TDD 的做法就是一个人先写好一个测试用例,然后交由伙伴去实现这个测试用例,然后再设计一个测试用例教回到之前的伙伴继续做实现,如此往复,这样的好处是两者都熟悉彼此的代码,在开发的过程中都有时间思考更好的思路。

还有就是像那种远程协同的,就需要借助一些工具来进行代码协作,像 VSCode LiveShare,JetBrains 官方目前还没有对应的工具。

以上就是有关结对编程的基础概念普及,个人建议即使用不到也需要了解一下。