Code Review — systematisk granskning av källkod av utvecklare för att upptäcka fel och förbättra produktkvaliteten. Enligt uppgifter från SmartBear, 2025 minskar Code Review antalet defekter med 30–60% och påskyndar introduktionen av nya teammedlemmar. Inom mobilutveckling omfattar granskningen obligatoriskt kontroll av arkitektur, prestanda och säkerhet på plattformarna Android och iOS.
Huvudpunkter
Code Review — processen att granska källkod av en eller flera utvecklare innan den integreras i projektets huvudgren. Syftet med granskningen är inte bara att hitta fel, utan också att förbättra arkitekturen, följa teamstandarder och sprida kunskap. Till skillnad från automatisk analys (linters) utförs code review av en människa och utvärderar läsbarhet, logik och arkitektoniska beslut.
Enligt Google Engineering Practices, 2024 delas Code Review in i två likvärdiga mål: skydda kodbasen från defekter och utbilda utvecklare genom feedback. I mobila projekt omfattar granskningen obligatoriskt kontroll av ramverk (UIKit, SwiftUI, Jetpack Compose), minneshantering och arbete med nätverksförfrågningar.
Code Review i GitLab och GitHub organiseras via Merge Request och Pull Request. Varje MR/PR innehåller diff, kommentarer på rader, diskussioner och granskningsstatus. Enligt forskning från Microsoft Research (2023) släpper team som praktiserar regelbunden granskning 40% färre kritiska buggar till produktion.
Den första formella Code Review uppstod på IBM på 1970-talet som „strukturerade inspektioner" med steg-för-steg-checklistor och protokoll. På 2000-talet med spridningen av Git och distribuerade team utvecklades granskningen till ett asynkront format via Pull Request. GitHub (2008) gjorde PR till ett massfenomen. Modern Code Review är en informell, asynkron process med fokus på hastighet och lärande, inte byråkrati.
Code Review klassificeras i fyra huvudtyper beroende på process och deltagarnas engagemang. Formell (Asynchronous Review) — granskning via MR/PR utan synkron kommunikation, vanligast i distribuerade team. Informell — quick CR, när en utvecklare går fram till en annan och ber om att få titta på koden inom 5 minuter.
Enligt Microsoft Research, 2023 är parprogrammering (Pair Programming) — två utvecklare arbetar vid en skärm, varje kod skrivs i realtid med granskning „i farten". Over-the-shoulder — en utvecklare tittar på en annans skärm och kommenterar koden utan formell process. Walkthrough — kodens författare leder en grupp utvecklare genom ändringarna och förklarar varje beslut.
| Typ av granskning | Format | Tid per 100 rader | Bäst för |
|---|---|---|---|
| Asynchronous | Via MR/PR | 15–30 min | Distribuerade team |
| Pair Programming | Synkront | 0 min (i processen) | Komplexa funktioner |
| Over-the-shoulder | Informellt | 5–10 min | Snabb konsultation |
| Walkthrough | Grupp | 30–60 min | Arkitekturförändringar |
Code Review-checklistan hjälper granskaren att inte missa kritiskt viktiga aspekter. Första kategorin — korrekthet och arkitektur: motsvarar lösningen den givna uppgiften, finns det överdriven komplexitet, är mönstren (MVP, MVVM, Clean Architecture) korrekt valda. Andra kategorin — stil och formatering: följs teamets kodstil (Kotlin Code Style, Swift Style Guide).
Enligt Thoughtbot Code Review Guide, 2024 är tredje blocket — testning: är enhetstester skrivna, täcker de gränsfall, har de inte brutit befintliga tester. Fjärde — säkerhet: finns det hårdkodade token, API-nycklar, SQL-injektioner, minnesläckor. Femte — prestanda: används korutiner/RxJava korrekt, finns det blockering av UI-tråden, överdrivna allokeringar.
Code Review kräver av granskaren en balans mellan noggrannhet och hastighet. Huvudregel — granska koden i små portioner. Optimal volym — 200–400 rader ändringar per session. Enligt Google Research (2022) förlorar granskning över 500 rader effektivitet: antalet missade defekter ökar linjärt med ändringarnas volym. Andra regeln — börja med arkitektur, sedan logik, sedan detaljer.
Enligt SmartBear, 2025 ska kommentarer vara specifika: inte „det här är dåligt", utan „den här metoden bryter mot SRP — flytta valideringslogiken till en separat klass". Varje kommentar är ett förslag till förbättring, inte kritik. Om koden är korrekt men stilen inte matchar granskarens preferenser — lämna utan kommentar. Granskaren ska godkänna den korrekta lösningen, även om han själv skulle ha skrivit annorlunda.
Att ta emot Code Review — en färdighet inte mindre viktig än förmågan att granska kod. Författaren bör vara öppen för kommentarer och se dem som en möjlighet att förbättra lösningen. Första regeln — uppfatta inte kommentarer som personlig kritik. Code Review granskar koden, inte utvecklaren. Andra — om en kommentar är oklar, be om förtydligande, korrigera inte omedelbart.
Enligt LeadDev, 2024 måste författaren före sändning till granskning själv kontrollera sin kod: köra tester, gå igenom checklistan, försäkra sig om att det inte finns debug-logg och utkommenterad kod. MR/PR ska innehålla en begriplig beskrivning med sammanhang för ändringarna. Ju bättre beskrivning, desto snabbare och mer produktiv blir granskningen.
En central aspekt av Code Review — psykologisk trygghet i teamet. Om en utvecklare är rädd för att få hård kritik eller förlöjligande kommer han att dölja problem istället för att diskutera dem. Google Project Aristotle (2017) visade: team med hög psykologisk trygghet är 25% mer produktiva. Regler: kritisera koden, inte författaren; ställ frågor istället för anklagelser; tacka för bra lösningar.
Nyckelregel för författaren — skynda inte att stänga kommentarer. Om granskaren har begärt ändringar måste de utföras, inte svara „ok" och lämna utan korrigering. Efter utförda korrigeringar — begär granskning igen. GitLab och GitHub stödjer Re-request Review för att meddela granskaren.
Automatisering av Code Review minskar bördan för utvecklare genom att eliminera kontroll av formella regler. Linters (ktlint, SwiftLint, ESLint) kontrollerar kodstil, formatering och grundläggande fel. Statiska analysatorer (Detekt, SonarQube, Infer) hittar potentiella buggar, minnesläckor och säkerhetsproblem innan koden når mänsklig granskning.
Enligt dokumentation för detekt, 2024 startas linters och analysatorer automatiskt i CI/CD-pipelinen när MR/PR skapas. Om kontrollen misslyckas blockeras MR med Merge-knappen. Detta garanterar att kod som når mänsklig granskning redan har passerat grundläggande kontroll. Granskaren fokuserar på arkitektur, logik och läsbarhet, inte på mellanrum och indrag.
// Exempel på detekt-konfiguration för Android-projekt
build.gradle.kts (app):
detekt {
config = files("detekt-config.yml")
buildUponDefaultConfig = true
allRules = false
autoCorrect = true
debug = false
parallel = true
}
tasks.named("preMerge") {
dependsOn("detekt")
dependsOn("ktlintCheck")
}
Code Review-verktyg inom mobilutveckling delas in i plattformsverktyg (GitLab, GitHub, Bitbucket) och specialiserade (Gerrit, Reviewable, Crucible). GitLab och GitHub tillhandahåller inbyggd funktionalitet: diff-jämförelse, kommentarer på rader, diskussionstrådar, statusar Approve/Changes Requested, integration med CI/CD. Valet av verktyg beror på teamets storlek och granskningspolicy.
Enligt GitLab Docs, 2025 ger Gerrit för stora team (50+ utvecklare) strängare kontroll: obligatorisk verifiering via CI före sammanslagning, viktade godkännanden (Verified + Code-Review) och detaljerade åtkomsträttigheter. För små och medelstora team är GitLab och GitHub det optimala valet: konfiguration av Required Approvals, Code Owners och Merge Checks tar minuter.
Misstag i Code Review minskar dess effektivitet och demotiverar teamet. Första — granskning av alltför stor volym ändringar på en gång. När MR innehåller 2000+ rader missar granskaren upp till 70% av defekterna. Andra — subjektiva kommentarer som inte baseras på kodstil eller arkitektur. Kommentarer som „jag skulle ha skrivit annorlunda" utan motivering ger ingen nytta.
Enligt Google Engineering Practices, 2024 är tredje misstaget — ignorering av tester. Om MR inte innehåller tester för ny funktionalitet bör granskaren kräva dem, inte godkänna „för senare". Fjärde — granskning i slutet av dagen eller sprinten när uppmärksamheten är spridd. Bästa tiden för granskning — första halvan av dagen, 30–60 minuter avsatta utan växling mellan uppgifter.
Säkerhet vid granskning — femte vanliga misstaget: granskare kontrollerar inte om det finns hårdkodade hemligheter, oskyddade WebView med JavaScript, sårbarheter i bibliotek. I mobila projekt är detta kritiskt: läckage av en API-nyckel kan leda till kompromettering av hela backend.
För distansteam är Code Review den huvudsakliga kanalen för kunskapsöverföring. Asynkront format via MR med tydliga deadlines rekommenderas: max 24 timmar för granskning. Använd skärminspelningar (Loom) för komplexa arkitekturdiskussioner. I distribuerade team är skriftlig dokumentation av beslut i MR-kommentarer särskilt viktig för att sammanhang inte ska gå förlorat vid byte av tidszoner.
Vanliga frågor
Code Review — granskning av kod av utvecklare innan integration i huvudgrenen. Det behövs för att upptäcka defekter, förbättra arkitektur, följa kodstil och överföra kunskap i teamet. Enligt SmartBear minskar granskning defekter med 30–60%.
Optimalt 200–400 rader ändringar per session. Google Research visade att vid volym över 500 rader minskar granskningens effektivitet proportionellt. Om MR är större — bör uppgiften delas upp i flera relaterade MR.
Börja smått: granska tester, dokumentation, kodstil. Gå gradvis över till logik och arkitektur. Ställ frågor istället för påståenden — „Varför valdes denna metod?" lär snabbare än „Det här är fel". Misstag anses vara normala.
Linters (ktlint, SwiftLint, ESLint) kontrollerar kodstil. Statiska analysatorer (detekt, SonarQube, Infer) hittar buggar och läckor. I CI/CD startas dessa verktyg när MR skapas och blockerar sammanslagning vid fel. Människan granskar bara logik och arkitektur.
Betrakta kommentarer som feedback om koden, inte som en bedömning av dig som utvecklare. Om en kommentar är oklar — be om förtydligande. Om du inte håller med — argumentera, men var beredd att acceptera granskarens beslut. Teamets kvalitet är viktigare än individuella preferenser.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också