Parprogrammering

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 16 januari 2018; kontroller kräver 5 redigeringar .

Parprogrammering är en programmeringsteknik där källkoden skapas av par som programmerar samma uppgift och sitter på samma arbetsplats. En programmerare ("mästaren") sköter datorn och tänker mest på kodning i detalj. Den andra programmeraren ("navigatorn" [1] ) är fokuserad på helheten och granskar kontinuerligt koden som produceras av den första programmeraren. Då och då byter de roller, oftast var halvtimme.

Fördelar

Ökad disciplin Programmerare i ett par är mer benägna att "göra det som behöver göras" och ta långa pauser mer sällan. Bästa koden Partners i ett par är mindre benägna att ta dåliga beslut och producerar bättre kod. Flexibelt arbetsflöde Hög moral Kollektivt kodägande Kollektivt ägande (parbyte) innebär att alla ansvarar för all kod. Således har alla rätt att göra ändringar i valfri del av koden. Parprogrammering stöder denna praxis: arbetar i par, alla programmerare har tillgång till alla delar av koden. En viktig fördel med kollektivt kodägande är att det påskyndar utvecklingsprocessen, för när en bugg uppstår kan den fixas av vilken programmerare som helst. Mentorskap Alla, även en nybörjare, vet något som andra inte vet. Parprogrammering är ett smärtfritt sätt att sprida denna kunskap. Laganda Mindre avbrott Ekonomisk genomförbarhet Högkvalitativ design Respons Kontinuitet i kodgranskning Fel upptäcks så fort de dyker upp, vilket sparar både tid och pengar. Utvecklingsteamet är enat, vilket gör att du kan avsluta arbetet tidigare och i bättre kvalitet. Utbildning Programmerare delar ständigt med sig av kunskap.

Sorter

Ping pong programmering

Ping-pong- programmering är en typ av parprogrammering anpassad för testdriven utveckling .
Endast en deltagare använder tangentbordet åt gången. I pingisprogrammering är koden alltid i ett av två tillstånd: den klarar alla tester, eller så finns det åtminstone ett test som misslyckas.
I det första tillståndet måste utvecklare välja vad de ska göra (skriva ett nytt test, korrigera ett befintligt test eller omfaktorisera koden) och vem som ska göra det.
I slutet av refaktoreringen ska koden alltid vara i sitt ursprungliga tillstånd - den ska klara alla tester.
Att skriva ett test eller ändra det kan föra deras kod till antingen det första eller det andra tillståndet:

  1. Den första situationen innebär att ett test skrevs (eller förbättrades) för en redan existerande funktionalitet (därmed kan graden av kodtäckning av tester öka).
  2. I det andra fallet, när minst ett test har dykt upp som inte klarar koden, överförs nödvändigtvis tangentbordet från den som skrev testet till en annan deltagare.

Målet för den andra deltagaren är att få koden tillbaka till sitt ursprungliga tillstånd, det vill säga fixa koden så att den klarar alla tester.
Med detta tillvägagångssätt minskar antalet situationer där det krävs för att fatta ett beslut om överföring av tangentbordet, sannolikheten för oenigheter minskar.
Processen att skriva kod blir som att spela pingis:

Fjärr (fjärr) parprogrammering

Fjärr (fjärr) parprogrammering , även känd som virtuell parprogrammering eller distribuerad parprogrammering , är en typ av parprogrammering där två programmerare är på avstånd från varandra [2] , som arbetar genom ett samredigeringsverktyg, fjärrskrivbord, eller via plug-in för det integrerade utvecklingssystemet. Fjärrparprogrammering lägger till ytterligare utmaningar som inte finns i vanlig parprogrammering, såsom ytterligare förseningar i koordineringen, beroende av tyngre verktyg för uppgiftshantering istället för enklare alternativ som registerkort, och brist på icke-verbala kommunikationsmedel som leder till missförstånd och konflikter om sådana saker. , som "vems tangentbord är det nu".

Se även

Anteckningar

  1. Kasyanova, Lyubov Parprogrammering: effektivt arbete eller plåga? (inte tillgänglig länk) . CNews Analytics (07.09.12). Hämtad 24 februari 2013. Arkiverad från originalet 24 februari 2013. 
  2. Nick V. Flor. Globalt distribuerad mjukvaruutveckling och parprogrammering  // Kommunikation av  ACM . - 2006. - Vol. 49 , nr. 10 . — S. 57-58 . - doi : 10.1145/1164394.1164421 .

Litteratur