What is pair programming?

This term is apparently used in English-speaking communities. I'm curious what is it? Does it look like two students are coordinating each other on the same PC or what? Is this organization (whatever it is) used only in the USA?

+4
source share
5 answers

Para-programming is one of the core practices of Extreme Programming (XP). This literally means that two people work on the same computer, usually one on the keyboard (often called a driver) and a partner (called a passenger or gun). It is known that increasing the productivity and quality of generated code, as well as providing group code ownership, is another XP factor.

+12
source

http://en.wikipedia.org/wiki/Pair_programming

Pair programming is a software development method in which two programmers work together on the same keyboard. One type of code, while the other scans each line of code when it is typed. The person typed by the user is called the driver. The person viewing the code is called observer 1 or navigator. Two programmers often change roles (perhaps every 30 minutes).

During the review, the observer also considers the strategic direction of work, coming up with ideas for improvement and possible future problems to solve. This frees the driver to focus all his or her attention on the โ€œtacticalโ€ aspects of completing the current task, using the observer as a protective net and guide.

+6
source

If in doubt, ask Wikipedia: Pair Programming . The general idea is for one person to write code and another for mistakes and cohesion.

+5
source

A pair programming extension, sometimes used by Test Driven Development , Ping Pong Pair .

Ping Pong Pairing works something like this:

  • Write a failed test (developer A)
  • Inject code that makes a test pass then (optional) Refactor (developer B)
  • Write a failed test (developer B)
  • Inject code that makes a test pass then (optional) Refactor (developer A)
  • etc.

One of the benefits of Ping Pong Pairing is that itโ€™s too difficult for a developer to sleep too long; -)

+1
source

Paired programming is when two developers work on the same card card with a common computer and keyboard. This is considered extreme programming practice. Extreme programming takes up something positive, in this case, reviewing the code and taking it to extremes. The benefits that go beyond continuous code review are:

  • Superior quality . A pair of active programmers working on the same story map will complete the card with less defects.
  • Increased productivity : the pair is likely to be slowed down if it is not blocked in solving the problem. Itโ€™s also harder to take email or web vacation when you work with a partner ... you donโ€™t want the partner to be down. You will solve the problem with a cleaner design and fewer lines of code when working in pairs.
  • Eliminate the silos of knowledge . With rotating pairs, you will learn application knowledge and domain knowledge in a team. A team is less likely to be blocked because Sue is on vacation and no one else knows her code.
  • Knowledge transfer: Rotating couples learn new skills (engineering and domain) to each other, working together. The team level will grow for everyone, and knowledge is disseminated through the team.
  • The team chooses independently: The team learns one of its skills and quickly crowds out those who do not.
+1
source

All Articles