当前位置:网站首页>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
边栏推荐
- 使线程释放锁资源的操作/方法重载一点注意事项
- vim 从嫌弃到依赖(20)——global 命令
- Redis configuration file details
- 【原创】TypeScript字符串utf-8编码解码
- June 26, 2022 (LC 6100 counts the number of ways to place houses)
- Enumeration? Constructor? Interview demo
- RMAN-08137 主库无法删除归档文件
- Persistence mechanism of redis
- The background prompt module for accessing fastadmin after installation does not exist
- I'm almost addicted to it. I can't sleep! Let a bug fuck me twice!
猜你喜欢

Redis transactions

ServletConfig与ServletContext

This, constructor, static, and inter call must be understood!

Redis主从复制以及哨兵模式

I'm almost addicted to it. I can't sleep! Let a bug fuck me twice!

MATLAB小技巧(18)矩阵分析--熵权法

That is, a one-stop live broadcast service with "smooth live broadcast" and full link upgrade

2022.06.26(LC_6101_判断矩阵是否是一个 X 矩阵)

Nosql 数据库 -Redis 安装

Rman-08137 main library failed to delete archive file
随机推荐
VIM from dislike to dependence (20) -- global command
Brief introduction to SSL encryption process
The most direct manifestation of memory leak
MySQL index details
Five basic types of redis
Process 0, process 1, process 2
Order by injection of SQL injection
Analysis of key technologies for live broadcast pain points -- second opening, clarity and fluency of the first frame
2022.06.26(LC_6100_统计放置房子的方式数)
Redis master-slave replication and sentinel mode
Several cases that do not initialize classes
0号进程,1号进程,2号进程
Redis installation under Linux
MySQL索引详解
2022.06.26(LC_6101_判断矩阵是否是一个 X 矩阵)
oracle怎样将字符串转为多行
多网络设备存在时,如何配置其上网优先级?
C# 解决使用SQLite 的相对路径问题
今日3大面试Demo[Integer ASCII 类关系]
Oracle uses an SQL to find out which data is not in a table