Del 8 av 8

AI-driven Code Review

Prompt-filer gör code review repeterbar, konsistent och skalbar — utan att varje granskning kräver en erfaren arkitekt i rummet.

Lektion 7 — V4 dag 1 Vi bygger ett komplett code review-system baserat på prompt-filer. Du lämnar lektionen med en fungerande granskningsrutin som du kan köra på vilken C#-fil som helst.

Vad AI kan granska — och inte granska

AI kan granskaAI kan INTE granska
Arkitekturmönsterbrott (lagerbrott, felaktiga beroenden) Runtime-beteende under lastförhållanden
Namnkonventionsavvikelser Integrationsproblem mot externa system
SRP- och DRY-brott synliga i koden Affärsregler som inte framgår av koden
Saknad nullhantering och felhantering Prestandaflaskhalsar som kräver profiling
Uppenbara säkerhetsproblem (SQL injection, hardkodade nycklar) Säkerhetsproblem i produktionskonfiguration
Avvikelser från instruktionsfilernas regler Om koden uppfyller affärskraven (kräver domänkunskap)
Saknad testbarhet (hårdkodade beroenden, statiska metoder) Race conditions och deadlocks som kräver runtime-observation

Code review-prompt — arkitekturgranskning

---
description: "Arkitekturorienterad code review av en C#-fil"
---

# Arkitektur Code Review

Du är senior C#-arkitekt med fokus på Clean Architecture och DDD.

Granska #file:${input:Filsökväg, t.ex. src/Domain/Orders/Order.cs} mot:
- Projektreglerna i #file:.github/copilot-instructions.md
- Domänreglerna i #file:.github/instructions/domain.instructions.md

Rapportera fynd i detta format:

## Arkitekturbrott
[numrerad lista — brott mot lagerregler och beroendesriktning]

## Namnkonventioner
[numrerad lista — avvikelser från projektkonventionen]

## SRP och komplexitet
[numrerad lista — klasser/metoder med mer än ett ansvar]

## Felhantering
[numrerad lista — saknad Result<T>, nullable-problem, resurser som inte stängs]

## Testbarhet
[numrerad lista — hardkodade beroenden, statiska anrop, svårmockade beroenden]

## Sammanfattning
Ge en av: ✅ Godkänd | ⚠️ Kräver ändringar | ❌ Ej godkänd
Motivera i max 3 meningar.

Om du inte hittar fynd i en kategori, skriv "Inga fynd".

Code review-prompt — säkerhetsgranskning

---
description: "Säkerhetsgranskning av C#-kod mot OWASP Top 10"
---

# Säkerhetsgranskning

Du är en erfaren AppSec-ingenjör specialiserad på .NET och C#.

Granska #file:${input:Filsökväg} för säkerhetsproblem.

Fokusera på OWASP Top 10 relevanta för C#/.NET:
1. Injection (SQL, LINQ, kommandoinjektion)
2. Autentiserings- och sessionsbrister
3. Exponering av känslig data (hardkodade nycklar, connection strings i kod)
4. Insecure Direct Object Reference (IDOR)
5. Saknad validering av indata (input från API-parametrar, formulär)
6. Felkonfiguration av säkerhetsinställningar
7. XXE och deserialisering av otillförlitlig data

Rapportera per kategori:
- Allvarlighetsgrad: Kritisk / Hög / Medel / Låg
- Exakt rad eller metod
- Konkret åtgärd

Avsluta med: Totalt antal fynd per allvarlighetsgrad.

Modellval för code review

GranskningstypRekommenderad modellAnledning
Snabb stilgranskning (namnkonventioner, formatering) GPT-4.1 / Claude Sonnet 4.6 Snabbt, billigt, räcker för ytliga brott
Arkitekturgranskning (en fil, 50–200 rader) Claude Sonnet 4.6 Stort kontextfönster, bra kodförståelse
Djup arkitekturgranskning (hel modul, flera filer) Claude Opus 4.7 eller Claude Sonnet 4.6 (extended thinking) Kräver reasoning över komplexa beroenden
Säkerhetsgranskning Claude Opus 4.7 eller Claude Sonnet 4.6 (extended thinking) Kräver djup förståelse av attack-vektorer
Trade-off-analys (arkitekturval) Claude Sonnet 4.6 (extended thinking) Reasoning-modell bäst för jämförande analys

Människa + AI i code review — praktiskt arbetsflöde

  1. Pre-review (AI): Kör arkitektur-prompten på alla ändrade filer i PR:n. AI markerar uppenbara brott.
  2. Sortera och bedöm (du): Granska AI:s fynd. Markera vilka som är korrekta, vilka som är false positives.
  3. Djupgranskning (du): Fokusera din manuella tid på affärslogik, integration och de brott AI inte kan se.
  4. Säkerhetsgranskning (AI + du): Kör säkerhetsprompten. Eskalera kritiska fynd för manuell verifiering.
  5. Feedback till författaren: Kombinera AI:s formulerade fynd med din bedömning i PR-kommentarer.
Tidsbesparing i praktiken AI-driven pre-review eliminerar 60–70 % av de mekaniska kommentarerna i en typisk code review (namnkonventioner, uppenbara SRP-brott, saknad felhantering). Det frigör din tid för de insiktsfulla kommentarerna som verkligen kräver mänskligt omdöme.

Gränser — vad AI INTE ser

Lita aldrig blint på AI:s kod-review för:

Copilot Code Review — inbyggd funktion

GitHub Copilot har en inbyggd "Code Review"-funktion tillgänglig direkt i VS Code och på GitHub.com. Den kan:

Kombinerat med dina egna .prompt.md-granskningar får du en tvåstegsprocess: Copilots inbyggda granskning fångar det uppenbara, din anpassade prompt fångar det projektspecifika.

Aktivera Copilot Code Review i VS Code Högerklicka på en fil i Source Control-panelen → "Copilot" → "Review and Comment". Copilot analyserar diff:en och lägger kommentarer direkt i editorn. Tillgängligt för Copilot Pro och Team.

Referenser

Elektroniska resurser

Böcker

Övningar

Lös övningarna självständigt. Det finns inget facit — lärandet sker i processen.

  1. Kör din första AI-granskning
    Ta en C#-klass du skrivit under kursen. Skapa code-review.prompt.md baserat på mallen ovan och kör den. Hur väl matchar AI:s fynd med vad du själv ser som förbättringsområden? Notera ett fynd som förvånade dig.
  2. Jämför granskningskvalitet
    Kör arkitektur-prompten med (a) GPT-5 mini och (b) Claude Opus 4.7 på samma fil. Dokumentera: skillnad i antal fynd, djup i analysen och false positive-rate. Motivera vilket du väljer för denna typ av granskning.
  3. Bygg ett komplett review-bibliotek
    Skapa tre .prompt.md-filer: (1) arkitekturgranskning, (2) säkerhetsgranskning, (3) testbarhetsgranskning. Kör alla tre på samma C#-fil och sammanställ resultaten i en granskningsrapport. Bedöm: täcker de tre sammanlagt det du vill granska?
  4. Identifiera vad AI missade
    Granska en klass med AI-prompten och gör sedan en manuell granskning. Identifiera minst två problem som AI:n inte fann och en false positive (ett "problem" AI rapporterade som faktiskt är korrekt). Reflektera: vad krävs för att upptäcka dessa manuellt?

Soloprojektor

Projekt 1 — Komplett AI-review-rutin Bygg ett komplett review-system för ditt projekt: tre .prompt.md-filer (arkitektur, säkerhet, testbarhet), en copilot-instructions.md med granskningspolicy, och en REVIEW-PROCESS.md som dokumenterar arbetsflödet. Kör systemet på minst fem befintliga C#-filer och dokumentera de viktigaste fynden.
Projekt 2 — Integrera AI-review i Git-workflow (fördjupning) Skapa ett pre-commit-skript (eller GitHub Actions-workflow) som automatiskt kör en av dina review-prompter på filer som ändrats i en commit. Skriptet ska logga resultatet och (valfritt) blockera commit vid kritiska fynd. Dokumentera implementationen och begränsningarna.

← Föregående: Instruktionsfiler Nästa: Examination →