Vodniki

Kako pregledati kodo, ki jo ustvari umetna inteligenca

Za pregled kode, ki jo ustvari umetna inteligenca, začnite s tem, kaj se je spremenilo – katere datoteke in zakaj – nato pa obnašanje preizkusite sami, preden preberete katerokoli vrstico kode. Potem preverite področja, kjer koda iz AI najpogosteje odpove: manjkajoča preverjanja dovoljenj na strežniku, skrivnosti, izpostavljene brskalniku, nepreverjen vnos, paketi ali funkcije, ki ne obstajajo, in urejanje stvari, ki ste jih prosili, naj se ne dotika.

Umetna inteligenca piše kodo, ki običajno deluje in pogosto izgleda urejeno. Zato jo je enostavno odobriti, ne da bi resnično preverili. Ta vodnik je rutina pregleda, ki deluje, ne glede na to, ali kodo berete tekoče ali sploh ne.

Prilagodite pregled tveganju

Ni vsaka sprememba vredna enake pozornosti.

SpremembaPregled
Besedilo, barve, postavitevOglejte si jo v predogledu na namizju in telefonu
Nova stran ali funkcijaPreizkusite tok; hitro preglejte spremenjene datoteke
Prijava, dovoljenja, plačila, osebni podatkiNatančno branje, pravo testiranje, razmislite o drugem pregledovalcu
Struktura baze, brisanje podatkov, migracijePreberite spremembo, preizkusite na kopiji, najprej naredite varnostno kopijo

Korak 1: Oglejte si, kaj se je spremenilo

Preden presodite kodo, pridobite seznam sprememb:

  • Če je projekt v Gitu, si oglejte razliko (diff): datoteke in vrstice, ki so se spremenile od zadnje potrditve. Glejte kako uporabljati Git z aplikacijo, zgrajeno z AI.
  • Ali pa vprašajte umetno inteligenco neposredno:

Naštej vse datoteke, ki si jih spremenil pri zadnji spremembi, in za vsako v enem stavku razloži, kaj se je spremenilo in zakaj.

Rdeče zastavice na tej stopnji: datoteke, ki niso povezane z zahtevo, izbrisane datoteke, spremembe konfiguracije ali odvisnosti, za katere niste prosili.

Korak 2: Najprej preizkusite obnašanje

Branje kode pove, kaj naj bi počela; testiranje pove, kaj dejansko počne. Preden berete:

  • Preizkusite spremembo kot običajen uporabnik, na namizju in na zaslonu velikosti telefona.
  • Preizkusite z napačnim vnosom: prazna polja, zelo dolgo besedilo, negativna števila, datum v preteklosti.
  • Preizkusite, ko niste prijavljeni, in kot drug uporabnik.
  • Ponovno zaženite tokove, ki so najpomembnejši: registracija, prijava, glavno dejanje, plačilo.

Če testiranje ne uspe, ste si prihranili čas branja – težavo jasno sporočite in naj jo umetna inteligenca popravi. Glejte kako napisati dobro poročilo o napaki.

Korak 3: Preverite dovoljenja na strežniku

Najpomembnejša stvar za preverjanje. Orodja AI pogosto skrijejo gumb na strani, strežnik pa je pripravljen izvesti dejanje za vsakogar, ki ga prosi.

Za vsako pot ali funkcijo, ki bere ali spreminja podatke, vprašajte:

  • Ali preveri, da je uporabnik prijavljen?
  • Ali preveri, da sme ta uporabnik dostopati do tega zapisa?
  • Ali je to preverjanje na strežniku, ne le na strani?

Za vsako pot API-ja, ki si jo dodal ali spremenil, povej, kakšno preverjanje dovoljenj opravi na strežniku, in navedi vrstico. Označi vsako pot brez njega.

Nato preizkusite: prijavite se kot uporabnik A, zapišite ID zapisa, nato se prijavite kot uporabnik B in ta zapis zahtevajte. Celoten test je v kontrolnem seznamu varnosti za aplikacije, zgrajene z AI.

Korak 4: Poiščite izpostavljene skrivnosti

  • V spremenjenih datotekah poiščite vse, kar je videti kot ključ ali geslo.
  • Preverite, ali se tajni ključi berejo iz okoljskih spremenljivk in se uporabljajo samo v strežniški kodi.
  • Pazite na javne predpone, kot sta VITE_ ali NEXT_PUBLIC_, na tajnih spremenljivkah – te se vgradijo v kodo za brskalnik.

Glejte kako varno hraniti ključe API.

Korak 5: Preverite vnos in napake

  • Preverjanje na strežniku. Preverjanja v brskalniku je mogoče preskočiti. Obvezna polja, dolžine, oblike in dovoljene vrednosti mora preveriti tudi strežnik.
  • Poizvedbe v bazo uporabljajo parametre, ne besedila, ki so sestavljena z lepljenjem uporabniškega vnosa v poizvedbo.
  • Napake niso tiho izgubljene. Blok try/catch, ki ne naredi ničesar, skrije napake. Napake je treba beležiti, uporabniki pa naj vidijo preprosto sporočilo.
  • Notranji podrobnosti niso prikazane uporabnikom – sledi sklada in napake baze spadajo v dnevnike.

Korak 6: Preverite, ali je res

Modeli umetne inteligence včasih ustvarijo kodo, ki je videti pravilna, a se sklicuje na stvari, ki ne obstajajo.

  • Paketi: vsaka nova odvisnost naj bo pravi, vzdrževan paket s točno tem imenom. Bodite previdni pri imenih, ki so videti kot napačno črkovanje priljubljenih.
  • Funkcije in možnosti API-ja: če koda kliče funkcijo knjižnice ali možnost zunanjega API-ja, ki je še niste videli, preverite uradno dokumentacijo.
  • Nadomestna koda: poiščite TODO, mock, fake, trdo zapisane vzorčne podatke ali funkcije, ki vračajo fiksno vrednost.

Ali si dodal nove pakete? Za vsakega navedi točno ime, namen in ali bi se brez njega lahko obdržali.

Korak 7: Preverite, ali se ujema

Koda lahko deluje in še vedno otežuje spreminjanje aplikacije pozneje:

  • Podvajanje. Ista logika, kopirana na več mest, se bo razšla.
  • Doslednost. Slediti mora vzorcem, ki jih uporablja ostala aplikacija.
  • Velikost. Zahteva z 20 vrsticami, ki je ustvarila 600 vrstic, zasluži vprašanje.
  • Mrtva koda. Stare različice, pustone ob novih.

Ali je v projektu zdaj kakšna koda, ki ni več v uporabi zaradi te spremembe, ali logika, ki je podvojena drugje? Ničesar ne spreminjaj; samo naštej.

Pogoste napake

  • Odobritev, ker izgleda čisto. Urejena koda lahko še vedno preskoči preverjanje dovoljenj.
  • Branje namesto testiranja. Najprej preizkusite, nato berite.
  • Testiranje samo poti, ko vse deluje. Preizkusite slab vnos, napačnega uporabnika in odjavo.
  • Ignoriranje nepovezanih sprememb datotek. Vprašajte, zakaj so se spremenile vse datoteke.
  • Popolno zaupanje v samopregled. Pregled umetne inteligence uporabite kot prvi prehod in potrdite s testiranjem.
  • Pregledovanje tedna sprememb naenkrat. Majhne spremembe pregledujte sproti.

Kontrolni seznam

  • Vem, katere datoteke so se spremenile in zakaj, in nič nepovezanega se ni spremenilo.
  • Sprememba deluje na namizju in telefonu, z napačnim vnosom, ko nisem prijavljen in kot drug uporabnik.
  • Vsaka pot s podatki na strežniku preveri prijavo in lastništvo.
  • Nobene skrivnosti v kodi ali paketih za brskalnik.
  • Vnos je preverjen na strežniku; poizvedbe uporabljajo parametre.
  • Napake se beležijo, niso tiho izgubljene in niso podrobno prikazane uporabnikom.
  • Nove pakete so pravi in potrebni; ostalo nobene izmišljene funkcije ali nadomestne kode.
  • Pri spremembah z visokim tveganjem je bilo narejeno natančno branje in po potrebi tudi drugi pregledovalec.

Pregled kode na Mythexu

  • Način Ask odgovarja na vprašanja o kodi, ne da bi jo urejal – idealno za pozive »razloži vsako spremembo« in »katere poti nimajo preverjanja dovoljenj«. Glejte Klepet.
  • Pogled kode prikazuje drevo datotek, urejevalnik in terminal v vseh paketih (samo za branje v Free, z možnostjo urejanja v Pro), da lahko sami preberete, kaj se je spremenilo. Glejte Urejevalnik kode.
  • /test naj agent klikne po predogledu kot uporabnik in poroča o pokvarjenih tokovih.
  • Kontrolne točke vam omogočajo povrniti spremembo, ki ne uspe pregleda.

Če pregleduje razvijalec namesto vas, kako delati z razvijalcem na aplikaciji, zgrajeni z AI pokrije predajo dela; če pregled razkrije napako, glejte kako odpraviti napake v aplikaciji, zgrajeni z AI.

Vprašanja

Ali lahko pregledam kodo, ki jo je ustvarila umetna inteligenca, če nisem razvijalec?

Velik del lahko. Preverite, ali sprememba naredi, kar ste zahtevali, preizkusite pomembne tokove, poskusite dostopati do podatkov drugega uporabnika in prosite umetno inteligenco, naj vsako spremenjeno datoteko razloži v preprostem jeziku. Pri plačilih, občutljivih podatkih ali varnosti naj pogleda tudi razvijalec.

Katere so najpogostejše težave v kodi, ki jo ustvari umetna inteligenca?

Manjkajoča preverjanja dovoljenj na strežniku, skrivnosti na mestih, ki jih lahko prebere brskalnik, vnos, ki ga strežnik ne preveri, paketi ali funkcije, ki ne obstajajo, napake, ki tiho izginejo, in spremembe datotek, za katere ne prosite.

Ali lahko umetno inteligenco prosim, naj pregleda lastno kodo?

Da, in pogosto najde prave težave, zlasti če postavite konkretna vprašanja, na primer katere poti nimajo preverjanja dovoljenj. Obravnavajte to kot prvi pregled, ne kot jamstvo, in njene ugotovitve potrdite s testiranjem.

Koliko časa naj traja pregled kode?

Prilagodite tveganju. Sprememba besedila ali sloga potrebuje hiter pogled na predogled. Spremembe prijave, plačil, dovoljenj ali baze zaslužijo natančno branje, pravo testiranje in morda drugo osebo.

Mythex · Pricing · Zgradite karkoli z AI · Predloge za spletna mesta in aplikacije · Mythex v primerjavi · Slovar pojmov gradnje aplikacij z AI · Brezplačna orodja za gradnjo aplikacij z AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)