Programare pereche
Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită pe 16 ianuarie 2018; verificările necesită
5 modificări .
Programarea în perechi este o tehnică de programare în care codul sursă este creat de perechi de oameni care programează aceeași sarcină, așezați la același loc de muncă. Un programator („masterul”) gestionează computerul și se gândește mai ales la codificare în detaliu. Celălalt programator („navigatorul” [1] ) este concentrat pe imaginea de ansamblu și revizuiește continuu codul produs de primul programator. Din când în când schimbă rolurile, de obicei la fiecare jumătate de oră.
Beneficii
Creșterea disciplinei
Programatorii dintr-o pereche au mai multe șanse să „facă ceea ce trebuie făcut” și să ia pauze lungi mai rar.
Cel mai bun cod
Partenerii dintr-o pereche sunt mai puțin predispuși la decizii proaste și produc cod mai bun.
Flux de lucru flexibil
Moral ridicat
Proprietatea codului colectiv
Proprietatea colectivă (schimbarea perechilor) înseamnă că toată lumea este responsabilă pentru întregul cod. Astfel, oricine are dreptul de a face modificări în orice secțiune a codului. Programarea în perechi sprijină această practică: lucrând în perechi, toți programatorii au acces la toate părțile codului. Un beneficiu important al deținerii codului colectiv este că accelerează procesul de dezvoltare, deoarece atunci când apare un bug, acesta poate fi remediat de orice programator.
Mentorat
Toată lumea, chiar și un programator începător, știe ceva ce alții nu știu. Programarea perechilor este o modalitate nedureroasă de a răspândi aceste cunoștințe.
Spirit de echipa
Mai puține întreruperi
Fezabilitate economica
Design de înaltă calitate
Părere
Continuitatea revizuirii codului
Erorile sunt detectate imediat ce apar, ceea ce economisește atât timp, cât și bani. Echipa de dezvoltare este unită, ceea ce vă permite să finalizați munca mai devreme și la o calitate mai bună.
Educaţie
Programatorii împărtășesc în mod constant cunoștințele.
Soiuri
Programare ping pong
Programarea ping-pong este un tip de programare în pereche adaptată dezvoltării bazate pe teste .
Doar un participant folosește tastatura la un moment dat. În programarea ping-pong, codul este întotdeauna într-una din cele două stări: trece toate testele sau există cel puțin un test care eșuează.
În prima stare, dezvoltatorii trebuie să aleagă ce vor face (scrie un nou test, corectează un test existent sau refactorizează codul) și cine îl va face.
La sfârșitul refactorizării, codul ar trebui să fie întotdeauna în starea sa originală - ar trebui să treacă toate testele.
Scrierea unui test sau modificarea acestuia poate aduce codul lor în prima sau a doua stare:
- Prima situație înseamnă că un test a fost scris (sau îmbunătățit) pentru o funcționalitate deja existentă (astfel, gradul de acoperire a codului de către teste ar putea crește).
- În al doilea caz, când a apărut cel puțin un test care nu trece codul, tastatura este transferată neapărat de la cel care a scris testul către alt participant.
Scopul celui de-al doilea participant este să readucă codul la starea inițială, adică să repare codul astfel încât să treacă toate testele.
Cu această abordare, numărul de situații în care este necesar să se ia o decizie cu privire la transferul tastaturii este redus, probabilitatea de dezacorduri este redusă.
Procesul de scriere a codului devine ca un joc de ping pong:
- primul participant scrie testul;
- al doilea - îl face să treacă, scrie un test de răspuns și dă tastatura înapoi.
Programare perechi de la distanță (la distanță)
Programarea perechilor de la distanță (la distanță) , cunoscută și sub denumirea de programare de perechi virtuale sau programare de perechi distribuite , este un tip de programare de perechi în care doi programatori sunt la distanță unul de celălalt [2] , lucrând printr-un instrument de coeditare, desktop la distanță, sau prin plug-in pentru sistemul de dezvoltare integrat. Programarea perechilor de la distanță adaugă provocări suplimentare care nu se găsesc în programarea obișnuită a perechilor, cum ar fi întârzieri suplimentare în coordonare, dependența de instrumente mai grele de gestionare a sarcinilor în loc de opțiuni mai simple, cum ar fi fișele index, și lipsa mijloacelor non-verbale de comunicare care duce la neînțelegeri și conflicte despre astfel de lucruri, cum ar fi „a cui este tastatura acum”.
Vezi și
Note
- ↑ Kasyanova, Lyubov Programarea perechilor: muncă eficientă sau chin? (link indisponibil) . CNews Analytics (07.09.12). Consultat la 24 februarie 2013. Arhivat din original pe 24 februarie 2013. (Rusă)
- ↑ Nick V. Flor. Dezvoltare software distribuită global și programare perechi // Comunicații ale ACM . - 2006. - Vol. 49 , nr. 10 . — P. 57-58 . - doi : 10.1145/1164394.1164421 .
Literatură
- Omar S. Gómez, José L. Batún, Raúl A. Aguilar. Programarea în pereche versus programarea individuală -- Un raport de experiență de la un curs de proiectare a experimentelor în inginerie software // Jurnalul Internațional de Probleme de Informatică. - 18 iunie 2013. - arXiv : 1306.4245 .