当前位置:网站首页>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配置文件详解
- RMAN-08137 主库无法删除归档文件
- Digital ic-1.9 understands the coding routine of state machine in communication protocol
- 针对直播痛点的关键技术解析——首帧秒开、清晰度、流畅度
- A classic interview question covering 4 hot topics
- Flow chart of Alipay wechat payment business
- How much do you know about the cause of amplifier distortion?
- [original] typescript string UTF-8 encoding and decoding
- win10为任意文件添加右键菜单
- 冒牌构造函数???
猜你喜欢
![[MySQL basic] general syntax 1](/img/f2/fb38409c034546e503d08a0b96cc61.png)
[MySQL basic] general syntax 1

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

JVM common garbage collector

Flow chart of Alipay wechat payment business

Design of a solar charge pump power supply circuit

MySQL lock details

IO pin configuration and pinctrl drive

Lvgl GUI guide porting code to stm32

Redis的事务

Object contains copy method?
随机推荐
Rockermq message sending and consumption mode
March into machine learning -- Preface
SIG associé: toutes les routes mènent à ue5
Introduction to websocket protocol
Some considerations on operation / method overloading for thread to release lock resources
Associated GIS: all roads lead to ue5 City
Lvgl description 3 about the use of lvgl Guide
Lvgl GUI guide porting code to stm32
Order by injection of SQL injection
i=i++;
Understanding mvcc in MySQL transactions is super simple
经典的一道面试题,涵盖4个热点知识
静态代码块Vs构造代码块
IO pin configuration and pinctrl drive
VIM from dislike to dependence (19) -- substitution
fastadmin 安装后访问后台提示模块不存在
ServletConfig and ServletContext
I'm almost addicted to it. I can't sleep! Let a bug fuck me twice!
【生动理解】深度学习中常用的各项评价指标含义TP、FP、TN、FN、IoU、Accuracy
一种太阳能电荷泵供电电路的方案设计