Workshop 2 – Granska kodkvalitet
Fredag 2 oktober 2026 kl. 10.15–16.30
Under kursens andra workshop arbetar du en hel dag tillsammans med kurskamrater i grupper som bildas på plats. Fokus ligger på att analysera kodkvalitet i andras kod – med utgångspunkt i de moduler du och dina kurskamrater skrev i Laboration 2. Att kunna sätta ord på varför kod är lätt eller svår att förstå är minst lika viktigt som att skriva den.
- Analysera kodkvalitet i andras kod.
- Ge och ta emot konstruktiv återkoppling på kod, med Clean Codes begrepp som gemensamt språk.
Förberedelser
Section titled “Förberedelser”- Se till att Laboration 2 är inlämnad i tid, det vill säga att din Merge Request är skapad före deadline. Det är ett krav för godkänt på workshoppen, se Betygskriterier.
- Ha länken till din publika GitHub-repo redo – det är din modul som andra kommer att läsa.
- Repetera Clean Codes kapitel om namngivning, funktioner och kommentarer, så att du kan använda bokens begrepp när du diskuterar kod.
- Är du distansstudent, se till att du är redo för ett Zoom-samtal.
- Är du campusstudent, ta med dator så att du kan läsa och köra andras kod under workshoppen.
Genomförande
Section titled “Genomförande”Dagen handlar om kodgranskning (code review). Du tilldelas en grupp på plats och arbetar aktivt i både större och mindre grupper under dagen – först med att ta reda på vad en bra kodgranskning är, sedan med att granska andras kod och diskutera återkoppling på din egen. Anteckna den återkoppling du får; den är användbar i Laboration 3, där du förbättrar din kod från Laboration 2.
Schema
Section titled “Schema”Tiderna är ungefärliga.
| Tid | Moment |
|---|---|
| 10.15 | Samling – närvaro och informationsinsamling |
| ~12.00 | Lunch |
| 13.15 | Samling – kodgranskningsprotokoll |
| ~14.30 | Samling – kodgranskning |
| ~16.00 | Reflektioner |
| ~16.15 | Samling – erfarenheter |
Informationsinsamling
Section titled “Informationsinsamling”Din grupp besvarar sina frågor nedan. Varje fråga ska ha flera källor – en källa per student i
gruppen, varav högst en får vara en stor språkmodell (LLM). Skapa ett gemensamt dokument, till
exempel Google Docs, där gruppen samlar svar och källor. Arbeta tillsammans i gruppen med en fråga
i taget och se till att alla bidrar. Skriv källan för varje svar, till exempel
(Clean Code, kapitel 2, s. 45) eller (LLM, ChatGPT, 2026-10-02). Skriv källan i slutet av varje
svar, inte i en separat källförteckning. Skriv kortfattat och tydligt.
- Vad är en kodgranskning?
- Hur går en kodgranskning till? Vilka olika steg finns?
- Vilka färdiga checklistor eller mallar kan du hitta?
- Vad är det som granskas under en kodgranskning? Hur mycket?
- Finns det en variation i hur kodgranskningar går till? Stora/små företag, hårdvarunära företag etc.?
- Vad är en kodgranskning?
- Hur används stora språkmodeller för kodgranskning i dag?
- Vilka verktyg kan hjälpa vid kodgranskningar? Hur kan automation, såsom linters och kodanalysverktyg, hjälpa till att avlasta mänskliga insatser? Finns det risker med att förlita sig för mycket på automatiska granskningar?
- Hur passar kodgranskningar in i mjukvaruutvecklingsprocessen?
- Hur hanterar man stora Pull/Merge Requests eller komplexa kodgranskningar?
- Vad är en kodgranskning?
- Vad bör man tänka på för att kommunikationen i en kodgranskning ska gå så bra som möjligt?
- Vilka är fördelarna med kodgranskningar?
- Vilka är nackdelarna med kodgranskningar?
- Vilka olika roller finns i en kodgranskning?
- Vad är en kodgranskning?
- Vad är en “blame-free” kodgranskning och varför är det viktigt?
- Hur upplevs kodgranskningar? Vilka känslor kan uppstå och hur ser man till att det blir bra?
- Hur skulle du vilja känna dig efter en kodgranskning?
- Hur hanterar man konflikter som kan uppstå under en kodgranskning?
Kodgranskningsprotokoll
Section titled “Kodgranskningsprotokoll”Utifrån informationsinsamlingen tas två listor fram. Ange källa för varje punkt.
- En checklista över vad som ska granskas. Boken, föreläsningarna och befintliga kodgranskningsprotokoll kan fungera som källor.
- En lista med förhållningsregler för att kodgranskningen ska gå till på ett respektfullt och uppbyggande sätt.
När protokollet sedan används vid kodgranskningen gäller följande ramar:
- Avgränsa kodgranskningen till en del av koden, till exempel en fil eller ett par funktioner eller en eller flera commits.
- Modulens README-fil ska granskas med avseende på olika modulanvändares behov.
- Att utföra kodgranskningen får ta maximalt 30 minuter.
Övrigt
Section titled “Övrigt”Du får tillfälle att lämna workshoppen för kortare stunder vid behov, och en lunchrast ingår under dagen. Workshoppar brukar vara intensiva – och uppskattade.