Preglejte kodo, ki jo ustvari AI
DokončanoPred sprejetjem preglejte dejansko spremembo, njene meje zaupanja in dokazila.
Izdajatelj TaigaKako pišemo
Preverite razumevanjeKončna točka preveri, ali je uporabnik prijavljen, nato naloži zapis po ID-ju iz zahteve. Kaj morate preveriti?Opravite vajo
Kaj se boste naučili
- Delovanje in pooblastila preglejte pred slogom.
- V majhnem primeru prepoznajte manjkajoče preverjanje avtorizacije.
- Ločite ustvarjen povzetek od preverjenih dokazil.
Zahtevo preberite pred povzetkom
Začnite z zahtevanim delovanjem in merili sprejemljivosti. Nato preglejte dejanski diff. Agentov povzetek vam lahko pomaga pri orientaciji, vendar lahko izpusti spremembe ali netočno opiše preverjanja.
Potrdite vejo in commit, ki ju pregledujete. Poleg kode aplikacije preverite tudi spremembe konfiguracije, odvisnosti, infrastrukture in testov. Majhna vidna funkcija lahko vključuje veliko spremembo dovoljenj ali poteka namestitve.
Najprej preglejte delovanje z najresnejšimi posledicami. Oblikovanje in poimenovanje sta pomembna, vendar ne smeta odvrniti pozornosti od manjkajoče meje podatkov.
Sledite identiteti do vira
Oglejte si to nepopolno, izmišljeno končno točko. Primer prikazuje težavo pri pregledu; ni produkcijska koda.
async function getInvoice(request) {
const user = await requireSignedInUser(request);
return database.invoice.findById(request.params.id);
}
Funkcija pridobi uporabnika s preverjeno istovetnostjo. Ne pokaže odločitve o avtorizaciji za račun. Pregledovalec mora preveriti, ali to odločitev uveljavlja druga plast. Neuporabljena vrednost uporabnika je razlog za preiskavo, sama po sebi pa ni dokaz napake, ki jo je mogoče izkoristiti.
Sledite zahtevi skozi dejanski sistem. Določite zaupanja vrednega uporabnika in organizacijo. Preverite, kako poizvedba omejuje dostop do zahtevanega zapisa. Preglejte delovanje ob napakah in teste prepovedanih zahtev.
Ne predpostavljajte, da skrit gumb ščiti API. Klicatelj lahko pošlje zahtevo brez uporabe vmesnika. Ne predpostavljajte, da veljaven ID zapisa daje dostop.
Vprašajte, katera dokazila bi lahko zavrnila spremembo
Uspešen test lahko uporablja testnega skrbnika ali nadomestek avtorizacije. Preverite, ali preizkuša pomembno mejo. Kjer je ustrezno, dodajte primer z drugo organizacijo in dejansko potjo avtorizacije.
Pri spremembi uporabniškega vmesnika preglejte izrisani rezultat. Preverite uporabo tipkovnice, prazna stanja, nalaganje in napake. Preverjanje tipov ne more dokazati, da je pogovorno okno uporabno s tipkovnico.
Pri spremembi odvisnosti preverite, zakaj je potrebna. Preglejte različico, licenco in varnostne ugotovitve. Nepovezane nadgradnje ne sprejmite zgolj zato, ker jo je agent ustvaril med nalogo.
Ohranite neodvisnost pregleda
Drugi model lahko odkrije koristne težave. Lahko tudi ponovi predpostavke iz izvedbe. Pregledovalcu dajte zahtevo in diff. Ne govorite mu, da je sprememba že pravilna.
Zahtevajte, da ugotovitve opredelijo konkreten potek, ki povzroči napako, in ustrezno kodo. Nepodprta opozorila obravnavajte kot vprašanja za preiskavo. Samozavestno odobritev obravnavajte kot dodatno mnenje, dokler za pomembne trditve ni dokazov.
Človeški pregled ostaja odločitev o odgovornosti. Pregledovalec mora dovolj razumeti spremembo, da pojasni njeno delovanje, tveganja in preverjanje. Če je diff prevelik, zmanjšajte obseg ali ga razdelite na spremembe, ki jih je mogoče pregledati.
Pregled zaključite na končni reviziji
Po popravku ponovno izvedite prizadeta preverjanja. Preglejte, ali popravek povzroči novo težavo. Zagotovite, da zahtevani pregled po pravilih repozitorija velja za končno revizijo.
Odločitev o sprejetju opišite z delovanjem in dokazili. Pri vsaki preostali omejitvi zabeležite odgovorno osebo in naslednje dejanje. Nerešene težave ne pretvorite v trditev, da so vsa preverjanja uspela.
Pred pregledom resnične spremembe z vajo pregleda kode vadite prepoznavanje manjkajoče odločitve.
Opravite vajo
Odprite vajo pregleda kode v praktičnem laboratoriju. Prepoznajte uporabnika, zahtevani vir in zaupanja vredno mejo organizacije. Nato z isto metodo preglejte dejanski majhen PR. Uporabite samo kodo, za katere pregled imate dovoljenje.
Prenesi delovni list (Markdown)Če počistite to izbiro, izbrišete ves napredek, shranjen v tem brskalniku.
Napredek ostane v tem brskalniku. Brez računa in sledenja.