in accordance with the requirements of agile development, our test team started the second story. I'm done with programming and following Jiang. NET to write a test demo task for the specific project code. in the task of pairing programming, it is divided into conceptual cognition and implementation of two sub-tasks. This is a basic understanding of unit testing theory. Definition:
pairing programming is the two-bit programmer who sits at the same workbench to develop software. That is, two programmers come to the same design, one as the navigator in the back to say how the code is written, and the other as the implementers to write code.
Advantages:
To the project:
(1) Two programmers are less likely to have the same drawbacks and blind spots, so when we use pair programming we get a powerful solution . People have more strength and more ideas than others. (There may be over-discussion, a waste of time; and, of course, a better solution.)
( 2 If the programmer's experience accumulates enough, it is very code that is easy to see potential problems , which is the surface of the function, but is actually a bad practice.
( 3 two experienced programmers working together at the same time seem to have wasted one's hours: But actually the effect is really done. Higher-quality code , the program is not so easy to get out BUG .
( 4 ) in a certain period of time to disrupt pairing. Benefits: Promote communication and rapport; Each person is more familiar with specific modules and overall projects, and is no longer overly troubled by the loss of personnel;
For programmers:
( 5 It can promote programmers involved in the project the improvement of their own level , when a pair of programmers work, the lower level of the party will be subtly affected by a slightly higher level of programmers, learning something new. And the level of the high side is also because of constantly put their ideas out and tidy up their own ideas.
( 6 ) Lift Efficiency , especially when encountering difficulties, two people go back to actively solve, and not sometimes wander, run off, private chat and so on. The heart is the squeeze Ah ~
( 7 ) less to be interrupted . people are more reluctant to interrupt two pairs of programming, while those who work alone are easily interrupted.
Disadvantages:
Possible problems: (1), excessive discussion, waste of time, (2), the level of uneven, inefficient, (3), thinking too much, thinking "run", (4), the leader: excessive attention to detail; 5), implementers: hidden, arrogant, overwhelmed, thinking jump, tools unfamiliar and so on.
Requirements:
The programmers who are not too far away from the horizontal are paired with themselves; use only one computer; you choose a person to sit in front of the keyboard for input, another person sitting behind the dictation (will not cause a person to think? No, because a person pauses when another person will take the initiative to continue to think, will one person train too fast, another can't keep up? No, because the first person can not understand him will not write down, will ask).
Two people to communicate constantly, the frequency should not be less than one minute. The whole idea of design from behind only mouth not to hand-dominated, and by the keyboard to do the implementation of the person. Because people's thinking speed is faster than the speed of the input code. Then the person watching can have free time to do extra thinking, observe the code to write the question of whether there is no problem with the structure.
Can be two person ticks alternating roles.
Although coding is usually done more quickly than a programmer alone, the total program time (number of programmers X time spent) has increased. Managers need to strike a balance between faster job completion and reduced testing and commissioning time and higher coding costs. For tasks that programmers do not fully understand, programmers expect more creativity, challenges, and high complexity, which is most helpful when using pair programming. In simple, programmer-fully understood tasks, pair programming leads to a net decrease in productivity.
Development:
Remote pair programming, is to share the desktop, expand Hardware, solve geographical constraints, but not conducive to collaboration, such as the delay of the keyboard control chaos, ping-pong pairing programming, is the Observer and driver (operator) test case writing and modification (understand).
Summary: for the pair programming also need to further understanding and exploration, here is just a rough introduction. Especially in the project how to implement and solve the problems in the implementation process, is the focus of this topic.
Initial knowledge of pairing programming