pereche de programare, Computerworld România, publicarea de „sisteme deschise“

infrastructura IT pentru întreprinderea dvs.

Combinând de dezvoltare într-un grup de două persoane pot crește calitatea cererii generate, de „companionii“ va scrie un program cu mare plăcere.

Există clase care, dacă au vrut să împartă cu nimeni greu - Solitaire, de conducere, de lectură. S-ar părea că același lucru se aplică pe deplin programelor de scriere. Când vine vorba de dezvoltarea de software, evoca imaginea unui om slab, cu o licărire febrilă în ochi, o listă tipărită la ecranul computerului și greu pentru a umple linia lui de cod. (Da, da, desigur, în picioare lângă sticla de Coca-Cola și o pungă de chipsuri de cartofi mototolită.) Dar este adevărat că un grup de „egocentric“ - într-adevăr cea mai bună echipă pentru a crea software-ul?

Sustinatorii relativ nouă filozofie de programare, numit pereche de programare (parte a abordării, cunoscut sub numele de Extreme Programming, sau XP), susținând că asociația de dezvoltatori în subgrupul de doi oameni pot crește calitatea cererii generate. Mai mult decât atât, presupusele companionii vor primi de la activitățile lor mai satisfăcătoare. Susținătorii acestei abordări cred că este, în ciuda redundanța evidente, promite economii mari, deoarece calitatea software-ului va fi mai mare pe adaptarea va lăsa mult mai puțin timp. Și pentru că dezvoltatorii vor fi fericit, managementul acesteia va fi în măsură să evite costurile apărute în legătură cu plecarea angajaților cheie. (În acest caz, nimeni nu a numărat încă, se va metamorfoza în costul unei Coca-Cola și chips-uri).

Metoda pereche de programare presupune că doi dezvoltatori stau una lângă alta, la același computer, și împreună constituie una și aceeași bucată de software. Multe un mod de interacțiune între cei doi programatori și, în special, necesitatea de a lucra pe un singur calculator poate părea ineficientă și total neprofitabile. Deci, de ce face pereche de programare cauzează acum atât de mult interes? Voi încerca să răspundă la această întrebare.

Proprietatea comună de cod

Voi începe cu o discuție generală. În primul rând, pe măsură ce proiectul de dezvoltare începe pentru programare pereche? Ca parte a modelului XP, cele mai multe dintre lucrările privind proiectul este formulat folosind carduri CRC (clasă, responsabilitate, colaborare - «responsabilități de clasă și de cooperare") - coli de hârtie, care fac obiectul proiectului.

Înainte de începerea grupului de lucru proiect a fost întâlnirea la care au modelat relația dintre toate obiectele cunoscute, și cardurile CRC sunt utilizate în scop ilustrativ. Programatorii trebuie să discute aspecte dintre cele mai îndoielnică, și elimina sau adăuga hărți noi pentru a reflecta schimbările în plan. Descriind obiectele ca entități separate, concepte complexe pot fi simplificate prin transformarea acestora într-o structură clară.

Rezultatul din etapa CRC devine o listă de sarcini mici. Dezvoltatorii sunt împărțite în perechi, iar fiecare pereche definește o unitate de testare pentru sarcina selectată pentru ea. Trebuie remarcat faptul că aceste teste sunt create înainte de a începe procesul de codificare. Potrivit susținătorilor XP, această abordare simplifică și accelerează dezvoltarea de aplicații: Testele sunt scrise în același timp cu mai multă atenție, deoarece acestea sunt folosite pentru a testa funcționalitatea critică îmbunătățește, de asemenea, feedback-ul pentru a determina exact ceea ce trebuie făcut. Cu alte cuvinte, nu este nevoie să-și petreacă timp pentru a crea un test imens pentru a verifica performanța proiectului în ansamblu.

Apoi, fiecare pereche de dezvoltator începe de codificare, în conformitate cu specificațiile misiunii sale. Foarte programator priceput întotdeauna asociat cu dezvoltatorii mai puțin experimentați. Ultima „la volan“ - care este, programul câștigă pe tastatură, iar primul ceas de umăr începător. Cu toate acestea, „conducătorul auto“ este obligat să urmeze codul de alfabetizare, adică, sintaxa și construcție corectă, și „navigator“ este responsabil pentru logica generală a proiectului și ar trebui să monitorizeze erori care ar putea împiedica „conducătorul auto“.

Cu toate acestea, utilizarea modelului de programare pereche nu înseamnă că dezvoltatorii sunt forțați să stea una lângă alta pe toată durata de viață a proiectului. Munca poate fi aranjate în mod mai flexibil. Programatorii pot lucra în tandem pentru a crea, de exemplu, un singur modul sau o anumită funcție, și apoi se alăture celorlalte grupuri. În orice caz, rolul lucrătorilor nu este neapărat rigid definit - tastatura nu poate merge doar din mână în mână, la momentul scrierii programului.

Odată ce codul care implementează soluția problemei, care este responsabil pentru una sau cealaltă pereche este finalizată, executați testul definit anterior. În cazul în care codul nu a trecut testul poate fi modificat testul sau codul. Dacă testul reușește, codul este integrat în magazia, în cazul în care acesta poate fi accesat de către toți membrii echipei de dezvoltare. Codul modificat ar trebui să fie plasate în depozitul de la fiecare câteva ore (cel puțin o dată pe zi). În același timp, toți dezvoltatorii vor primi codul real - o astfel de abordare reduce riscul de erori în proiect referitoare la versiunile incoerențe.

Dacă în procesul de scriere a partenerilor de cod ajuns la concluzia că au nevoie de ajutor în rezolvarea unei probleme specifice, ei pot cere pentru a forma o nouă pereche pentru această sarcină. De obicei, unul dintre programatorii din prima pereche este conectat la cealaltă echipă, iar al doilea cu noul dezvoltator continuă să răspundă la întrebări.

Când scrieți programe de sustinatorii XP de multe ori se referă la procedura, numita expansiune (refactorizarea), care presupune o revizuire constantă a codului în vederea simplificării, astfel încât programul să devină cât mai scurt posibil. Cu o claritate de cristal de cod, programatori reduce la minimum necesitatea de corectare a diferitelor tipuri de defecte de mai târziu. Metode de descompunere permite de a detecta rapid erorile și să le corecteze imediat.

Pasul final - punerea în aplicare a tuturor unității și testele funcționale. Este probabil ca acest proces va trebui să fie repetate de mai multe ori, până când se poate ajunge la funcționarea corectă și interacțiunea tuturor obiectelor. Poate fi necesar să-și petreacă câteva CRC-sesiuni; Obiectele care nu trec de testare funcțională, trebuie să fie transferate pentru a finaliza un alt programatori pereche.

Din punct de vedere științific

Rezultate: cuplurile create întotdeauna mai ușor de înțeles de cod în care există mai puține erori, și, în plus, programatori recunoscut că acest mod de lucru le-a placut mult mai mult decât rezolvarea aceleiași probleme singur. Pe de altă parte, crearea de perechi de cod a durat un pic mai mult decât programatori, acționând în mod individual. Dar iterații ulterioare produc rezultate mult mai rapid. Astfel, deși prima dată, dezvoltatorii mai mult „a câștigat impuls“ (și putem presupune că pereche de programare - nu cea mai bună soluție pentru proiecte cu termene foarte strânse), se pare că oamenii sunt rapid să se adapteze la acest proces.

Nu putem spune că pereche de programare - este întotdeauna bine. Unele dintre programatorii au crezut ambarcațiunile lor o chestiune profund personală și se simte inconfortabil atunci când trebuie să-l împartă cu nimeni altcineva. În plus, mulți lideri sunt îngroziți la gândul de necesitatea de a dubla ca o resursă rară, ca dezvoltatori. Trebuie avut în vedere faptul că un cuplu nu poate lucra în cazul unor conflicte personale - unii oameni sunt pur și simplu nu pot să lucreze cu alții.

Timpul va spune dacă perechea de programare se justifică (și programarea extremă, în general). In companiile in care aceasta tehnica este deja în uz, cum ar fi DaimlerChrysler și Ford Motor, nu se grăbesc să facă orice concluzii. Cei care au mult timp îngrijorat de problemele dureroase de dezvoltare aplicații - organizarea de comunicare între programatori, complexitatea excesivă, de control și de management, și, desigur, calitatea software-ului, are sens pentru a încerca să pereche de programare.

pereche de programare

Conform sustinatorilor acestei abordări, de programare pereche (pereche de programare) poate oferi o creștere semnificativă a calității software-ului, actualizarea de cunoaștere a angajaților, și, de asemenea, pentru a face munca programatori mai placuta. Dar nu toată lumea poate lucra împreună. module de funcții de un cuplu, a trecut în mod regulat cu privire la alți membri ai grupului de dezvoltatori, care contribuie la o cooperare mai strânsă între programatori și schimb de cunoștințe cu unul pe altul.

Avantaje: stimulează învățarea continuă; îmbunătățește grupul de lucru și consolidează relația dintre participanți; Se face mai ușor pentru a rezolva problemele
Dezavantaje: pot genera conflicte personale și neînțelegeri; poate prelungi ciclul de dezvoltare; Metoda insuficient testate

model de programare pereche

În plus față de această metodă pereche de programare implică dezvoltatori punerea în comun în perechi și promovează o cooperare mai strânsă între ele, face parte dintr-o metodologie de dezvoltare mai generală, care prevede un pas cu pas planul, testarea continuă și descompunere - procesul de îmbunătățire și simplificare a codului. Această metodă permite, de asemenea, dacă este necesar, schimbarea compoziției aburului în cadrul echipei de dezvoltare

Partajați imagini cu prietenii și colegii