当前位置:网站首页>To improve efficiency or increase costs, how should developers understand pair programming?
To improve efficiency or increase costs, how should developers understand pair programming?
2022-07-03 14:35:00 【Windy Walker】

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
1. From a project perspective , Improve the product quality
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 .
2. 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 .

3. From a personal point of view , Improve personal ability and work efficiency
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 .
Pay attention to me , Show you more wonderful articles .
边栏推荐
- Zhejiang University Edition "C language programming (4th Edition)" topic set reference ideas set
- US stock listing of polar: how can the delivery of 55000 units support the valuation of more than 20billion US dollars
- Use of constraintlayout
- Zzuli:1044 failure rate
- How Facebook moves instagram from AWS to its own server
- 添加Zabbix计算类型项目Calculated items
- Why is this error reported when modifying records in the database
- Tonybot humanoid robot checks the port and corresponds to port 0701
- 超简单手机地图开发
- Zzuli:1049 square sum and cubic sum
猜你喜欢
Pyqt interface production (login + jump page)
必贝特医药冲刺科创板:年营收97万亏损1.37亿 拟募资20亿
论文分享:Generating Playful Palettes from Images
Tiantu investment sprint Hong Kong stocks: asset management scale of 24.9 billion, invested in xiaohongshu and Naixue
Frequently asked questions: PHP LDAP_ add(): Add: Undefined attribute type in
Adc128s022 ADC Verilog design and Implementation
puzzle(016.3)千丝万缕
Concat and concat_ Ws() differences and groups_ Use of concat() and repeat() functions
Paper sharing: generating playful palettes from images
556. 下一个更大元素 III
随机推荐
Zzuli:1041 sum of sequence 2
Zzuli:1047 logarithmic table
【北大青鸟昌平校区】互联网行业中,哪些岗位越老越吃香?
tonybot 人形机器人 首次开机 0630
7-9 one way in, two ways out (25 points)
Zabbix添加Calculated items后保存页面成空白
剑指 Offer 28. 对称的二叉树
Comprehensive evaluation of good-looking, easy-to-use and powerful handwriting note taking software: notability, goodnotes, marginnote, handwriting, notes writers, collanote, collanote, prodrafts, not
Frequently asked questions: PHP LDAP_ add(): Add: Undefined attribute type in
Selective sorting
修改数据库中的记录为什么报这个错
J-luggage lock of ICPC Shenyang station in 2021 regional games (simple code)
JVM garbage collector
Timecho of Tianmou technology completed an angel round financing of nearly 100 million yuan to create a native timing database of the industrial Internet of things
7-16 find the set of integers that meet the given conditions
7-6 mixed type data format input
ShowMeBug入驻腾讯会议,开启专业级技术面试时代
Zzuli:1044 failure rate
添加Zabbix计算类型项目Calculated items
Analysis of gene family characteristics - chromosome location analysis