Pot 02Lekcija 4 / 6

Preglejte kodo, ki jo ustvari AI

Pred sprejetjem preglejte dejansko spremembo, njene meje zaupanja in dokazila.

Praktična raven12 minPregledano

Izdajatelj Kako 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
Končna točka preveri, ali je uporabnik prijavljen, nato naloži zapis po ID-ju iz zahteve. Kaj morate preveriti?

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)
Preverite razumevanje ↑

Nadaljujte učenje

Viri in nadaljnje branje

Povezano gradivo podjetja Taiga

← Prejšnja lekcija: Teste uporabljajte kot dokazila