Ako programovať v pároch: 7 krokov

Párové programovanie je metóda programovania, pri ktorej dvaja ľudia pracujú spoločne na jednej klávesnici. Jedna osoba, „vodič“, píše na klávesnici. Druhá osoba, „pozorovateľ“ (alebo „navigátor“), kontroluje každý riadok kódu počas jeho písania, kontroluje chyby a premýšľa o celkovom návrhu.

Niektoré výhody, ktoré môžete očakávať: lepší kód (jednoduchší návrh, menej chýb, lepšia údržba), vyššia morálka (viac zábavy!), zdieľané znalosti v rámci celého tímu (špecifické znalosti o vašej kódovej základni aj všeobecné znalosti o programovaní), lepšie riadenie času, vyššia produktivita.

Kroky

Predtým, ako si sadnete, začnite s primerane dobre definovanou úlohou. Úloha by mala byť niečo, o čom ste presvedčení, že ju dokážete dokončiť za hodinu alebo dve. Napríklad: „Pridajte „históriu údržby“ do kódu databázy sťahovacích vozňov.“ Pred začatím kódovania vám môže pomôcť načrtnúť, čo plánujete robiť.

Dohodnite sa vždy na jednom malom cieli: niečo, čo môžete dokončiť v priebehu niekoľkých minút. Uvedenie problému slovami druhej osobe pomáha sústrediť vašu myseľ a pomáha zapojiť myseľ vášho partnera. Takisto sa uistíte, že obaja viete, na čom pracujete práve teraz.

Spoliehajte sa na svojho partnera, podporujte ho.

  • Keď ste ovládačom, dokončite aktuálny drobný cieľ čo najrýchlejšie a ignorujte väčšie problémy. Dôverujte pozorovateľovi, aby bol vašou záchrannou sieťou.
  • Keď ste pozorovateľom, čítajte kód, ktorý vodič píše, tak ako ho píše. Vašou úlohou je kontrola kódu. Mali by ste venovať plnú pozornosť a snažiť sa, aby vám nič neuniklo. Premýšľajte o možných chybách, väčších problémoch a spôsoboch, ako zjednodušiť alebo zlepšiť dizajn. Okamžite upozorniť na chyby a kód, ktorý sa vám zdá nečitateľný. Počkajte, kým sa neskončí aktuálny drobný cieľ, aby ste vyvolali väčšie problémy a nápady na zlepšenie dizajnu. Zaznamenávajte si tieto neskoršie úlohy, aby sa vodič mohol sústrediť na súčasnú drobnú úlohu. Ak napríklad vidíte, že súčasný kód nezohľadňuje nulový vstup, napíšte si na kus papiera: „Pridajte jednotkový test pre nulový vstup.“
  • Keď ste pozorovateľ, nediktujte kód. Vodič by mal aktívne premýšľať o tom, ako dosiahnuť aktuálnu úlohu, nielen pasívne písať. A ako pozorovateľ by ste mali využiť skutočnosť, že nemusíte vymýšľať drobné detaily; môžete a mali by ste premýšľať na vyššej úrovni. Povedzte: „To vyzerá správne. Ako teraz spracovať prípad, keď nám je odovzdaný nulový ukazovateľ?“ je lepšie ako „OK, teraz zadajte ‚if (s == NULL) { return …'“

Veľa rozprávajte! Povedzte, čo sa chystáte urobiť, požiadajte o nápad na implementáciu, požiadajte o lepší spôsob riešenia daného problému, uveďte alternatívne nápady, poukážte na možné vstupy, ktoré kód nepokrýva, navrhnite jasnejšie názvy premenných a podprogramov, navrhnite spôsoby implementácie kódu v menších krokoch, povedzte ovládaču tú malú znalosť API, ktorú potrebuje práve v momente, keď ju potrebuje, atď. Samozrejme, veľa počúvajte. Keď sa ľudia dobre spájajú, rozprávajú sa takmer nepretržite. Tu je niekoľko bežných vecí, ktoré si môžete povedať pri párovaní:

  • “ Myslíte si, že toto je platný test?“
  • „Zdá sa vám to správne?“
  • „Čo bude nasledovať?“
  • „Trust me“ (keď je jednoduchšie napísať malý kód, aby ste vyjadrili svoj názor, ako ho povedať nahlas)

Často synchronizujte. Počas spoločnej práce sa vám stane, že sa nesynchronizujete: nebudete si istí tým, čo robí váš partner, alebo vám nebude jasné, čo robí aktuálna úloha. Toto je normálne. Keď sa to stane, znovu synchronizujte. Kľúčom k dobrému párovaniu je veľmi častá synchronizácia – do niekoľkých sekúnd alebo do minúty od zistenia, že ste sa nesynchronizovali. Ak strávite päť minút (alebo viac) mimo synchronizácie, môžete rovnako dobre kódovať sami, pretože práve častá opätovná synchronizácia vytvára synergiu párovania.

  • Keď môžete, povedzte, čo sa chystáte urobiť, skôr než to urobíte. Ešte lepšie je opýtať sa partnera; napríklad: „Napíšeme teraz test pre nulový prípad?“ Niekedy však musíte napísať kód, aby ste pochopili svoju myšlienku, a to je v poriadku. Potom môžete povedať, že to robíte: „Musím to napísať, aby som zistil, či je to dobrý nápad.“ Najlepšie však je, ak tento druh prieskumu trvá menej ako minútu.
  • Keď sa vás partner opýta, či s niečím súhlasíte, napríklad „Napíšeme teraz test pre nulový prípad?“ alebo „Myslím, že túto metódu možno teraz odstrániť. Súhlasíte?“, jasne a okamžite vyslovte „Áno“ alebo „Nie“.
  • Je v poriadku, ak si klávesnicu veľmi často odovzdávate sem a tam. Niekedy je napríklad oveľa jednoduchšie „povedať“ niečo napísaním kódu, ako sa to snažiť vysvetliť nahlas. Nechajte teda pozorovateľa chytiť klávesnicu a napísať. Potom môžete prepnúť späť alebo nechať pozorovateľa pokračovať v riadení, podľa toho, čo má práve teraz väčší zmysel.

Chvíľu oslavujte, keď dokončíte úlohy a prekonáte problémy. Napríklad vždy, keď sa vám podarí prejsť testom, si navzájom plácnite. Ak si tiež plácnete zakaždým, keď dostanete nový test zlyhanie, naozaj sa dostanete do rytmu spoločného programovania a návrhu riadeného testovaním.

  • Často si vymieňajte úlohy – aspoň každú polhodinu. Vďaka tomu ste obaja plne zapojení, obaja ste naladení na detaily na nízkej úrovni a na celkový obraz. Okrem toho vás môže jazda na plné obrátky unaviť a je ťažké udržať ostražitosť, ktorú si vyžaduje úloha pozorovateľa, dlhšie ako pol hodiny. Prepínanie rolí vás dobíja.
  • Odkazy

    1. Williams, Laurie (2003). Párové programovanie osvetlené. Addison-Wesley. ISBN 0-201-74576-3.
    2. Williams, Laurie (2001). „Integrácia párového programovania do procesu vývoja softvéru“, 14. konferencia o vzdelávaní a odbornej príprave v oblasti softvérového inžinierstva.