Granska AI-genererad kod
Granska den faktiska ändringen, dess tillitsgränser och underlag innan du accepterar den.
Publicerad av TaigaSå skriver vi
Det här lär du dig
- Granska beteende och befogenheter före stil.
- Identifiera en saknad auktoriseringskontroll i ett litet exempel.
- Skilj en genererad sammanfattning från verifierat underlag.
Läs kravet före sammanfattningen
Börja med begärt beteende och acceptanskriterier. Granska sedan den faktiska diffen. Agentens sammanfattning kan hjälpa dig att hitta, men kan utelämna ändringar eller beskriva kontroller felaktigt.
Bekräfta branch och commit som granskas. Kontrollera ändringar i konfiguration, beroenden, infrastruktur och tester utöver applikationskoden. En liten synlig funktion kan omfatta en stor ändring av behörigheter eller driftsättningsbeteende.
Granska beteendet med störst konsekvenser först. Formatering och namngivning spelar roll, men får inte avleda från en saknad datagräns.
Spåra identiteten till resursen
Titta på denna ofullständiga, fiktiva endpoint. Exemplet illustrerar ett granskningsproblem; det är inte produktionskod.
async function getInvoice(request) {
const user = await requireSignedInUser(request);
return database.invoice.findById(request.params.id);
}
Funktionen hämtar en autentiserad användare. Den visar inget auktoriseringsbeslut för fakturan. En granskare måste undersöka om ett annat lager upprätthåller beslutet. Det oanvända användarvärdet är skäl att undersöka, men bevisar inte i sig ett exploaterbart fel.
Spåra förfrågan genom det faktiska systemet. Identifiera betrodd användare och organisation. Kontrollera hur frågan begränsar åtkomst till den begärda posten. Granska felbeteende och tester för förbjudna förfrågningar.
Anta inte att en dold knapp skyddar API:t. En anropare kan skicka en förfrågan utan gränssnittet. Anta inte att ett giltigt post-ID ger åtkomst.
Fråga vilket underlag som kan underkänna ändringen
Ett godkänt test kan använda administratörsdata eller mockad auktorisering. Kontrollera om det prövar den viktiga gränsen. Lägg till ett fall med en annan organisation och verklig auktoriseringsväg där det är lämpligt.
Granska det renderade resultatet vid en gränssnittsändring. Kontrollera tangentbordsanvändning, tomma lägen, laddning och fel. En typkontroll visar inte att en dialog går att använda med tangentbord.
Verifiera varför en beroendeändring behövs. Granska version, licens och säkerhetsfynd. Acceptera inte en orelaterad uppgradering bara för att agenten genererade den under uppgiften.
Håll granskningen oberoende
En andra modell kan hitta användbara problem. Den kan också upprepa implementationens antaganden. Ge granskaren kravet och diffen. Undvik att säga att ändringen redan är korrekt.
Kräv att fynd anger en konkret felväg och relevant kod. Behandla obestyrkta varningar som frågor att undersöka. Behandla ett självsäkert godkännande som ytterligare en åsikt tills viktiga påståenden har underlag.
Mänsklig granskning är fortfarande ett beslut om ansvar. Granskaren bör förstå tillräckligt av ändringen för att förklara beteende, risker och verifiering. Om diffen är för stor ska du minska omfånget eller dela upp den i granskningsbara ändringar.
Avsluta granskningen på den slutliga revisionen
Kör berörda kontroller igen efter en rättning. Undersök om rättningen skapar ett nytt problem. Säkerställ att nödvändig granskning gäller den slutliga revisionen enligt repositoryts policy.
Skriv acceptansbeslutet utifrån beteende och underlag. Dokumentera kvarvarande begränsningar med ansvarig och nästa åtgärd. Förvandla inte ett olöst problem till ett påstående om att alla kontroller godkändes.
Använd kodgranskningsövningen för att öva på att identifiera det saknade beslutet före en verklig ändring.
Gör övningen
Öppna kodgranskningsövningen. Identifiera aktören, den begärda resursen och den betrodda organisationsgränsen. Granska sedan en verklig liten PR med samma metod. Använd bara kod som du har rätt att granska.
Ladda ned övningsblad (Markdown)Kontrollera din förståelse
Källor och vidare läsning
Relaterad läsning från Taiga
Om du avmarkerar valet raderas alla framsteg som sparats i den här webbläsaren.
Framstegen stannar i webbläsaren. Inget konto, ingen spårning.