Pair programming, pair programming, is an agile software development method, the component of extreme programming. Pair programming technology means that two programmers sit side-by-shoulder in front of the same computer to work on the same design, the same algorithm, the same piece of code, or the same set of tests. One person acts as the "execute" role and is only responsible for programming. The "Observer" (or "navigator") is also responsible for detecting bugs and controlling the overall design. Pair programming often takes about half the time to write higher-quality code compared to the two-bit programmers who work independently of each other.
pair programming is an effective method to build software system. The significant benefits of pairing programming are:
first, pair programming can maximize productivity.
Software development is not just a programmer to build code, it is more a process of innovation, is a discovery of problems, analysis, problem solving process. When a person is programming, it is often a bit of a piecemeal idea to start writing code. After writing the code, suddenly found that the scheme does not work, had to discard the code, to start new ideas. When a person encounters difficult problems, it is easy to walk into the "dead Corner". And pair programming is different, a person has the idea, first to express, let their peers understand, after a deep discussion, unanimously approved before the code began to write. One person to write code, the other to think about it, and to make constructive comments for the next step. Found the problem can be timely correction. Greatly improve the quality of the code.
One person has a valid working time of less than 3-4 hours a day. Two humans pair programming together. One person writes code, while the other is thinking about the next work from a design perspective, having ideas, talking to each other, and swapping roles. In the development process, the design thinking and coding implementation of non-stop exchange, maintain a good development rhythm. At the same time can be mutual supervision, so that each other more serious work. When you encounter problems and stress, you can face them together and encourage each other. You can share the success and pleasure of solving problems together.
two, pair programming is the best way to spread knowledge.
Many software companies have their own knowledge base, some also set up their own training departments, and even high salaries to hire some experts to do technical training. But the results are not ideal. After the training, developers face the actual project, or a blank. And with experienced colleagues pair programming is in the actual project learning, with very strong pertinence. What you learn is not only techniques and techniques, but also the ways in which they think and solve problems. You can quickly improve your experience and ability by pairing programming with colleagues of different experiences.
three, pair programming can create the best cooperation team.
The team is organized and planned to use the resources reasonably and effectively to make the best combination. Pair programming is not a fixed partner, we encourage frequent exchange of pair programming partners in the team. At this point we found that the project is no longer a person's thing, nor is it a matter of two people, but the whole team.
Through the pairing programming, we can complete the running-in in the shortest period of time. Pair programming is very good to promote the team's communication, often working together with the programming partners, mutual understanding, familiar, many are working and life of friends. In such a team, we are happy to help each other, share knowledge, share happiness.
Four , in addition to the pair programming can bring more improvement.
- Better ideas--continuous brainstorming, a bigger knowledge base, fewer differences in understanding, and more brain-solving design problems;
- Better quality-less loopholes, instant authentication of ideas, consistent approach and greater adherence to team meeting requirements;
- A more comprehensive understanding of experience sharing and knowledge sharing, a deeper understanding of why, how and what to do;
- Higher productivity – better focus and higher work intensity, promote and motivate each other to achieve the best results, fewer delays and wasted time;
- More fun-most people like working in groups and solving interesting problems together.
But people-to-people cooperation is not a simple thing-especially when people are accustomed to working alone. The implementation of pair programming technology will bring benefits to the development of software projects, but these benefits must be carefully considered and planned to truly reflect.
Talking about pairing programming