当前位置:网站首页>Improving efficiency or increasing costs, how should developers understand pair programming?
Improving efficiency or increasing costs, how should developers understand pair programming?
2022-06-27 08:48:00 【Cloud smart aiops community】
author :Michael Yang, Cloud intelligence architect
What is pair programming
Pair programming (Pair programming) From extreme programming XP(eXtreme Programming), Is one of its best practices . seeing the name of a thing one thinks of its function , Pair programming is two programmers sitting together , Use a development machine for pair development .
Attention should be paid to , At home “ Old brings new ”,“ Master and apprentice ” The pairing method of is not strictly pairing programming . because “ Old brings new ” Senior programmers have more say in pairing , Therefore, losing the meaning of closure to itself , Therefore, this form of pairing can only be regarded as a form of training new people .

The practical form of pair programming
When using pair programming practice , Different teams have different ways :
Clear division of labor :
- One person is responsible for writing code , Another person reviews the code , Responsible for the correctness and readability of the code ;
- One person is responsible for the detailed design , One person is responsible for code implementation ;
- One person writes the function code , One person writes test cases .
Cooperative type : Two people discuss the architecture design of the developed functions 、 coded 、 Test methods, etc , Then take turns doing input and observation . This mode achieves information sharing very well , Get complementary effects .

How pair programming can improve work efficiency
Pair programming is through two developers working side by side on the same project or task , Take turns writing code and checking partner output to improve productivity , The following will explain in detail the specific ways of pair programming to improve work efficiency .
Break the knowledge barrier , Learn programming skills from each other , And reduce product demand design defects ;
Cooperate with each other , Enhance code and product delivery quality , Effectively reduce BUG, Thus reducing the workload of testers ;
Push each other , Reduce “ loaf on a job ” Time , Effectively improve working hours ;
Each other Backup, While ensuring the smooth progress of the project , Better handling of mobility .
The value of pair programming
In general work programming , Due to personal thoughts, it is inevitable to be negligent , Omissions and limitations , It will produce “ See how the code you write is right ” Misunderstanding . And in pairing , Because two people work together to complete a product function , So both sides can see each other's mistakes from different angles , Thus avoiding personal subjective misunderstanding . On the other hand , In pair programming , Since the code has been reviewed by at least one programmer , So you can make the code design 、 Testing and coding are more friendly , Reduced defects , So as to improve the product quality .
The form of pair programming also ensures a function of the product , The code implementation structure can be known by at least two people , Two people can form each other Backup, There will be no such thing as a person asking for leave or leaving the company , The following projects cannot be promoted . Besides , Some teams change their pairing of programmers on a regular basis , This ensures that each member of the team is familiar with each functional module of the project , So as to form an atmosphere of collective ownership of the project , And avoid “ One person responsibility system , saw wood ” The phenomenon of .
what's more , In the process of business requirements development , There will inevitably be defects . In the process of troubleshooting , Developers of pair programming do not need to make their own subjective investigation and judgment , Instead, you can overcome the defects through consultation with your own cooperative partners , In the end, this effect often doubles the output .
From a team perspective , It has better promoted the team cooperation atmosphere and knowledge transfer and sharing
From a team perspective , Compared with the traditional independent station “ fence ” How it works , On the one hand, pair programming can better realize knowledge transfer and sharing , On the other hand , Pair programming, a real-time communication method, also makes the team members' relationship more harmonious , Thus, it is more conducive to create a harmonious team atmosphere .
according to “ Johari Window ( Communication windows )” The theory of , In practical work and interpersonal communication , The more common open areas , The more convenient it is to communicate , The less likely it is to misunderstand . When we expand our open quadrant to others , You will build more good relationships with each other , Pair programming is a good form of communication .
Four quadrants of communication window :
Open quadrant : I know , Others know that ;
Privacy quadrant : I know , Others don't know ;
Blind spot quadrant : I don't know , Others know ;
The potential quadrant : I don't know , No one else knows .
The first area , Information that you know and others know is called public area information ; The second area , Information that you know others do not know is called privacy ; The third area , Information that you don't know others know is called blind zone information ; The fourth area , The information that you don't know and others don't know is called unknown area ( Potential area ) Information .

From a personal point of view , In pairing , Individuals will not only learn new knowledge and skills from pairing partners , It can also be influenced by the other party's work style and attitude . Some short-scale , Inch a director , Everyone has his own advantages and strengths , Worthy of learning and respect . When everyone in the team improves , In fact, it is the improvement of the ability of the whole team .
Work efficiency , Pair programming makes everyone more focused on their work , Some personal activities outside of work will not be carried out . Everyone has his own task to be responsible for , In a way , Pair programming allows two people to form a mutual supervision , A small team for common progress , For the completion of team tasks , Both will focus on their tasks , So as to greatly improve the efficiency of work output .
summary
Pair programming is actually a kind of team common values and culture formed in the process of pair running in . This process is long and subtle , In pair programming, there must be a process of divergence and unification , And many teams just stop practicing when they disagree , You can't see the benefits of pairing . therefore , Before starting pair programming , Managers should consider whether your team is really suitable for pair programming .
Open source benefits
Cloud intelligence has become an open source data visualization platform FlyFish . By configuring the data model, it provides users with hundreds of visual graphics components , Zero coding can achieve a cool visual large screen that meets your business needs . meanwhile , Flying fish also provides flexible expansion ability , Support component development 、 Customize the configuration of functions and global events , Facing complex demand scenarios can ensure efficient development and delivery .
Click the address link below , Welcome to FlyFish Like to send Star. Participate in component development , There are ten thousand yuan in cash waiting for you to get .
GitHub Address : https://github.com/CloudWise-OpenSource/FlyFish
Gitee Address :https://gitee.com/CloudWise/fly-fish
Ten thousand yuan cash activities :http://bbs.aiops.cloudwise.com/t/Activity
边栏推荐
- Redis主从复制以及哨兵模式
- The background prompt module for accessing fastadmin after installation does not exist
- 三道基础面试题总结
- March into machine learning -- Preface
- 关于el-date-picker点击清空参数变为null的问题
- See how much volatile you know
- E+H二次表维修PH变送器二次显示仪修理CPM253-MR0005
- MySQL lock details
- ThreadLocal再次挖掘它的知识点
- Persistence mechanism of redis
猜你喜欢

Rough reading DS transunet: dual swing transformer u-net for medical image segmentation

浏览器的markdown插件显示不了图片

Oracle uses an SQL to find out which data is not in a table

Semi-supervised Learning入门学习——Π-Model、Temporal Ensembling、Mean Teacher简介

Digital ic-1.9 understands the coding routine of state machine in communication protocol

Redis installation under Linux

ServletConfig and ServletContext

Win10 add right-click menu for any file

Redis的持久化机制

VIM from dislike to dependence (20) -- global command
随机推荐
Chapter 11 signal (I) - concept
0号进程,1号进程,2号进程
(original) custom drawable
[cloud native] 2.3 kubernetes core practice (Part 1)
我大抵是卷上瘾了,横竖睡不着!竟让一个Bug,搞我两次!
2022.6.26-----leetcode. seven hundred and ten
快捷键 bug,可复现(貌似 bug 才是需要的功能 [滑稽.gif])
March into machine learning -- Preface
Fake constructor???
win10为任意文件添加右键菜单
看看volatile你深知多少
ServletConfig and ServletContext
webrtc入门:12.Kurento下的RtpEndpoint和WebrtcEndpoint
Redis的事务
Five basic types of redis
关于el-date-picker点击清空参数变为null的问题
RMAN-08137 主库无法删除归档文件
IMX8QXP DMA资源和使用(未完结)
JS EventListener
MySQL environment variable configuration tutorial