Kako pregledati kod koji je generisala AI
Da biste pregledali kod koji je generisala AI, počnite s onim što se promijenilo — koje datoteke i zašto — pa testirajte ponašanje sami prije nego što pročitate ijedan red koda. Nakon toga provjerite područja u kojima kod iz AI-ja najčešće pogriješi: nedostajuće provjere dozvola na serveru, tajne izložene pregledaču, neprovjerene ulaze, pakete ili funkcije koje ne postoje i izmjene stvari koje nikad niste tražili.
AI piše kod koji obično radi i često izgleda uredno. To olakšava odobravanje bez stvarne provjere. Ovaj vodič je rutina pregleda koja radi bez obzira na to da li čitate kod tečno ili uopšte.
Prilagodite pregled rizicima
Ne traže sve promjene jednaku pažnju.
| Promjena | Pregled |
|---|---|
| Tekst, boje, raspored | Pogledajte u pregledu na desktopu i telefonu |
| Nova stranica ili funkcija | Testirajte tok; prelistajte promijenjene datoteke |
| Prijava, dozvole, plaćanja, lični podaci | Pažljivo čitanje, pravo testiranje, razmislite o drugom recenzentu |
| Struktura baze, brisanje podataka, migracije | Pročitajte promjenu, testirajte na kopiji, prvo napravite sigurnosnu kopiju |
Korak 1: Pogledajte šta se promijenilo
Prije nego što ocijenite kod, uzmite listu promjena:
- Ako je projekat u Gitu, pogledajte diff: datoteke i redove koji su se promijenili od zadnjeg commita. Pogledajte kako koristiti Git s aplikacijom napravljenom uz AI.
- Ili direktno pitajte AI:
Navedi svaku datoteku koju si promijenio u zadnjoj izmjeni i za svaku objasni u jednoj rečenici šta se promijenilo i zašto.
Crvene zastavice u ovoj fazi: datoteke koje nemaju veze sa zahtjevom, obrisane datoteke, izmjene konfiguracije ili zavisnosti koje niste tražili.
Korak 2: Prvo testirajte ponašanje
Čitanje koda kaže šta bi trebalo da radi; testiranje kaže šta zaista radi. Prije čitanja:
- Isprobajte promjenu kao običan korisnik, na desktopu i na ekranu veličine telefona.
- Isprobajte s pogrešnim ulazom: prazna polja, vrlo dug tekst, negativni brojevi, datum u prošlosti.
- Isprobajte odjavljen i kao drugi korisnik.
- Ponovo pokrenite tokove koji su najvažniji: registracija, prijava, glavna radnja, plaćanje.
Ako testiranje ne prođe, uštedjeli ste vrijeme čitanja — jasno prijavite problem i pustite AI da ga popravi. Pogledajte kako napisati dobar izvještaj o grešci.
Korak 3: Provjerite dozvole na serveru
Najvažnija stvar za provjeru. AI alati često sakriju dugme na stranici, ali ostave server spremnim da izvrši radnju za svakoga ko je zatraži.
Za svaku rutu ili funkciju koja čita ili mijenja podatke, pitajte:
- Da li provjerava da je korisnik prijavljen?
- Da li provjerava da ovaj korisnik smije pristupiti ovom zapisu?
- Da li je ta provjera na serveru, a ne samo na stranici?
Za svaku API rutu koju si dodao ili promijenio, reci mi koju provjeru dozvola radi na serveru, citirajući red. Označi svaku rutu bez nje.
Zatim testirajte: prijavite se kao korisnik A, zabilježite ID zapisa, prijavite se kao korisnik B i zatražite ga. Sigurnosna kontrolna lista za aplikacije napravljene uz AI sadrži cijeli test.
Korak 4: Tražite izložene tajne
- Pretražite promijenjene datoteke za sve što liči na ključ ili lozinku.
- Provjerite da se tajni ključevi čitaju iz varijabli okruženja i koriste samo u serverskom kodu.
- Pazite na javne prefikse kao što su
VITE_iliNEXT_PUBLIC_na tajnim varijablama — oni se ugrađuju u kod za pregledač.
Pogledajte kako čuvati API ključeve na sigurnom.
Korak 5: Provjerite ulaze i greške
- Provjera na serveru. Provjere u pregledaču se mogu zaobići. Obavezna polja, dužine, formati i dozvoljene vrijednosti treba da provjerava i server.
- Upiti baze koriste parametre, a ne tekst složen spajanjem korisničkog unosa u upit.
- Greške se ne guše.
try/catchkoji ništa ne radi skriva kvarove. Greške treba zabilježiti, a korisnik treba da vidi jednostavnu poruku. - Nema internih detalja prikazanih korisnicima — stek poruke i greške baze pripadaju logovima.
Korak 6: Provjerite da je sve stvarno
AI modeli ponekad proizvedu kod koji izgleda ispravno, ali se poziva na stvari koje ne postoje.
- Paketi: svaka nova zavisnost treba da bude stvaran, održavan paket tačno tog imena. Pazite na imena koja liče na tipfelere popularnih paketa.
- Funkcije i opcije API-ja: ako kod poziva funkciju biblioteke ili opciju vanjskog API-ja koju nikad niste vidjeli, provjerite zvaničnu dokumentaciju.
- Kod-zamjenica: pretražite
TODO,mock,fake, unaprijed zadane testne podatke ili funkcije koje vraćaju fiksnu vrijednost.
Jesi li dodao nove pakete? Za svaki navedi tačno ime, čemu služi i da li bismo mogli bez njega.
Korak 7: Provjerite da se uklapa
Kod može raditi i ipak otežati kasnije izmjene aplikacije:
- Dupliranje. Ista logika kopirana na više mjesta će se razilaziti.
- Dosljednost. Treba pratiti obrasce koje koristi ostatak aplikacije.
- Veličina. Zahtjev od 20 redova koji je proizveo 600 redova zaslužuje pitanje.
- Mrtav kod. Stare verzije ostavljene pored novih.
Postoji li u projektu kod koji je sada neiskorišten zbog ove promjene ili logika koja je duplirana negdje drugo? Ništa ne mijenjaj; samo navedi.
Česte greške
- Odobravanje jer izgleda čisto. Uredan kod može i dalje preskočiti provjeru dozvola.
- Čitanje umjesto testiranja. Prvo testirajte; čitajte poslije.
- Testiranje samo idealnog toka. Isprobajte loš unos, pogrešnog korisnika i odjavljen status.
- Ignorisanje izmjena u nepovezanim datotekama. Pitajte zašto su se sve datoteke promijenile.
- Potpuno vjerovanje samopregledu. Koristite AI-jev pregled kao prvi prolaz i potvrdite testiranjem.
- Pregledanje cijele sedmice promjena odjednom. Pregledajte male promjene dok se dešavaju.
Kontrolna lista
- Znam koje su datoteke promijenjene i zašto, i ništa nepovezano nije promijenjeno.
- Promjena radi na desktopu i telefonu, s lošim unosom, odjavljen i kao drugi korisnik.
- Svaka ruta s podacima provjerava prijavu i vlasništvo na serveru.
- Nema tajni u kodu ni u bundle-ovima za pregledač.
- Ulazi se provjeravaju na serveru; upiti koriste parametre.
- Greške se bilježe, ne guše, i ne prikazuju se korisnicima u detaljima.
- Novi paketi su stvarni i potrebni; nema izmišljenih funkcija ni zamjenica.
- Promjene većeg rizika su pažljivo pročitane i, gdje treba, pregledao ih je drugi čovjek.
Pregled koda na Mythexu
- Režim pitanja odgovara na pitanja o kodu bez njegove izmjene — idealno za upite „objasni svaku izmjenu” i „koje rute nemaju provjeru dozvola”. Pogledajte Chat.
- Prikaz koda pokazuje stablo datoteka, uređivač i terminal na svakom planu (samo za čitanje na Free, za uređivanje na Pro), pa sami možete pročitati šta se promijenilo. Pogledajte Uređivač koda.
/testzamoli agenta da klikne kroz pregled kao korisnik i prijavi neispravne tokove.- Checkpointi vam omogućavaju da vratite promjenu koja ne prođe pregled.
Ako programer pregleda umjesto vas, kako raditi s programerom na aplikaciji napravljenoj uz AI pokriva predaju posla; ako pregled otkrije grešku, pogledajte kako otkloniti greške u aplikaciji napravljenoj uz AI.
Pitanja
Mogu li pregledati kod koji je generisala AI ako nisam programer?
Možete pregledati dobar dio. Provjerite da promjena radi ono što ste tražili, testirajte važne tokove, pokušajte pristupiti podacima drugog korisnika i zamolite AI da objasni svaku promijenjenu datoteku običnim jezikom. Za plaćanja, osjetljive podatke ili sigurnost, neka i programer pogleda.
Koji su najčešći problemi u kodu koji generiše AI?
Nedostajuće provjere dozvola na serverskoj strani, tajne postavljene tamo gdje ih pregledač može pročitati, ulazi koji se ne provjeravaju na serveru, paketi ili funkcije koje ne postoje, greške koje se tiho guše i izmjene datoteka koje niste tražili.
Mogu li zamoliti AI da pregleda vlastiti kod?
Da, i često nađe prave probleme, naročito ako postavite konkretna pitanja, npr. koje rute nemaju provjeru dozvola. Smatrajte to prvim prolazom, a ne garancijom, i potvrdite nalaze testiranjem.
Koliko treba trajati pregled koda?
Prilagodite rizicima. Izmjena teksta ili stilova treba brzi pogled u pregledu. Promjene prijave, plaćanja, dozvola ili baze zaslužuju pažljivo čitanje, pravo testiranje i možda drugu osobu.