Gennemgå AI-genereret kode
Undersøg den faktiske ændring, dens tillidsgrænser og dokumentationen, før du accepterer den.
Udgivet af TaigaSådan skriver vi
Det lærer du
- Gennemgå adfærd og bemyndigelse før stil.
- Find en manglende rettighedskontrol i et lille eksempel.
- Skeln mellem en genereret opsummering og verificeret dokumentation.
Læs kravet før opsummeringen
Start med den ønskede adfærd og acceptkriterierne. Undersøg derefter den faktiske diff. Agentens opsummering kan hjælpe dig med at finde rundt, men den kan udelade ændringer eller beskrive kontroller forkert.
Bekræft den branch og det commit, der er til review. Kontrollér ændringer i konfiguration, afhængigheder, infrastruktur og tests samt applikationskoden. En lille synlig funktion kan omfatte en stor ændring i rettigheder eller udrulningsadfærd.
Gennemgå først den adfærd, der har de største konsekvenser. Formatering og navngivning betyder noget, men må ikke aflede opmærksomheden fra en manglende datagrænse.
Spor identiteten frem til ressourcen
Se på dette ufuldstændige, fiktive endpoint. Eksemplet illustrerer et reviewproblem; det er ikke produktionskode.
async function getInvoice(request) {
const user = await requireSignedInUser(request);
return database.invoice.findById(request.params.id);
}
Funktionen henter en autentificeret bruger. Den viser ikke en beslutning om brugerens adgang til fakturaen. En reviewer skal undersøge, om et andet lag håndhæver den beslutning. Den ubrugte brugerværdi er en grund til at undersøge videre, ikke i sig selv bevis for en fejl, der kan udnyttes.
Spor forespørgslen gennem det faktiske system. Find den betroede bruger og organisation. Kontrollér, hvordan forespørgslen begrænser adgang til den ønskede post. Undersøg fejladfærd og tests for forbudte forespørgsler.
Antag ikke, at en skjult knap beskytter API’et. En klient kan sende en forespørgsel uden at bruge brugergrænsefladen. Antag ikke, at et gyldigt post-ID giver adgang.
Spørg, hvilken dokumentation der kunne afvise ændringen
En bestået test kan bruge en administrator som testbruger eller en mock af rettighedskontrollen. Undersøg, om testen afprøver den vigtige grænse. Tilføj et tilfælde med en anden organisation og en virkelig rettighedskontrol, hvor det er relevant.
Ved ændringer i brugergrænsefladen skal du undersøge det renderede resultat. Kontrollér tastaturbetjening, tomme tilstande, indlæsning og fejl. En typekontrol kan ikke dokumentere, at en dialog kan bruges med tastatur.
Ved ændringer i afhængigheder skal du kontrollere begrundelsen. Gennemgå version, licens og sikkerhedsfund. Acceptér ikke en uvedkommende opgradering, blot fordi agenten genererede den under opgaven.
Hold review uafhængigt
En anden model kan finde nyttige problemer. Den kan også gentage antagelser fra implementeringen. Giv revieweren kravet og diffen. Undgå at fortælle den, at ændringen allerede er korrekt.
Kræv, at fund beskriver et konkret fejlforløb og den relevante kode. Behandl udokumenterede advarsler som spørgsmål, der skal undersøges. Betragt en sikker godkendelse som endnu en vurdering, indtil de vigtige påstande har dokumentation.
Menneskeligt review er fortsat en beslutning om ansvar. En reviewer skal forstå nok af ændringen til at kunne forklare dens adfærd, risici og kontrol. Hvis diffen er for stor, skal du reducere omfanget eller dele den i ændringer, der kan gennemgås.
Afslut review på den endelige revision
Kør de berørte kontroller igen efter en rettelse. Undersøg, om rettelsen skaber et nyt problem. Sørg for, at det krævede review gælder den endelige revision efter repositoryets politik.
Beskriv acceptbeslutningen ud fra adfærd og dokumentation. Registrér hver resterende begrænsning med en ansvarlig og næste handling. Omsæt ikke et uløst problem til en påstand om, at alle kontroller bestod.
Brug øvelsen i kodereview til at øve dig i at finde den manglende beslutning, før du undersøger en rigtig ændring.
Lav øvelsen
Åbn øvelsen i kodereview i øvelseslaboratoriet. Find aktøren, den ønskede ressource og den betroede organisationsgrænse. Undersøg derefter en rigtig, lille PR med samme metode. Brug kun kode, du har tilladelse til at gennemgå.
Download arbejdsark (Markdown)Kontrollér din forståelse
Kilder og videre læsning
Relateret læsning fra Taiga
Fjerner du dette valg, slettes al fremgang gemt i denne browser.
Fremgangen bliver i denne browser. Ingen konto, ingen sporing.