Blog om agile metoder, udvikling og ledelse


code review, pair-programming, samarbejde

Review på forkant

Morten Ulrik Sørensen | 18.12.2021

Hvornår laver man et godt code review? Helst imens koden bliver skrevet, men ellers... før!

Et dejligt emne som ofte er oppe at vende på mine projekter er

Hvor meget skal vi lave code reviews?

Jeg ville ønske at jeg altid med god samvittighed kunne sige "par-programmering i stedet for", og det er også altid bedre,[^Your milage may vary. It may, but it won't...] når hele teamet ellers får det gjort. Når vi ikke får det gjort, jo, så er der en rolle at spille for code reviews.

Code reviews, the bad parts

Men jeg bry's mig ikke om at lave code reviews. Hvis man finder små ting som er nemme at rette er det jo fint nok — bedre navne, lidt hurtig refaktorering, et par ekstra test-cases; jo, det giver mening. Men tit er der jo også nogle lidt mere... ærgerlige ting. Noget der kunne have været grebet helt anderledes an, måske være blevet mindre kompliceret, men "nu er det her jo, og det virker jo sådan set" — så synes jeg altså, at det er sin sag at finde på den gode måde at gribe det an på; at det er svært at lave code review på en måde, der både er rar for begge parter og løfter niveauet næste gang. Det bliver næsten altid for lidt og for sent.

Så det prøver jeg at undgå.

Den anden ting, jeg virkelig ikke kan lide ved code reviews er, hvis det bruges til at "dele ansvaret"; hvis den, der skriver koden, bruger det forestående code review som sikkerhedsnet og ikke selv sikrer sig, at det her er godt nok. Jeg synes simpelthen, at jeg ser bedre kode og oplever større ansvarlighed, når "min kode" altid skal være klar til at komme i produktion, så snart den har forladt min computer.

Review på forkant

Til gengæld synes jeg, at vi har gode resultater af noget, vi kalder Review på forkant. At man, inden man starter på en ny opgave, der kan gribes an på forskellige måder, lige griber fat i et par gode kollegaer og snakker opgaven og designet igennem ved tavlen. Måske også får mindet hinanden om, at der ret let kan laves gode testcases til også den her opgave, som kan hjælpe os med at få god skik på det.

De samtaler har altid været gode og konstruktive og givet god energi.

Samtale ved whiteboard

Bagefter er det også undervejs i opgaven let og trygt at bede om og tilbyde mere hjælp, for konteksten er der, og fællesskabet om opgaven er allerede etableret. Måske får vi så også lige par-programmeret de vigtigste punkter.

Koden, der kommer ud af de opgaver, gider jeg godt lave review på — men jeg er faktisk også tryg ved at springe det over.