Kuidas üle vaadata AI-genereeritud koodi
AI genereeritud koodi ülevaatamiseks alusta sellest, mis muutus — milliseid faile ja miks — ja testi käitumist enne, kui loed ühtegi koodirida. Seejärel kontrolli valdkondi, kus AI-kood kõige sagedamini valesti läheb: puuduvad serveripoolsed õiguste kontrollid, brauserile nähtavad saladused, valideerimata sisend, paketid või funktsioonid, mida pole olemas, ja muudatused asjades, mida sa pole kunagi palunud puutuda.
AI kirjutab koodi, mis tavaliselt töötab ja sageli näeb korralik välja. See muudab selle lihtsaks heaks kiita ilma tegelikult kontrollimata. See juhend on ülevaatusrutiin, mis töötab, olenemata sellest, kas sa loed koodi sujuvalt või üldse mitte.
Mõõda ülevaatus riskiga
Kõik muudatused ei vaja sama tähelepanu.
| Muudatus | Ülevaatus |
|---|---|
| Tekst, värvid, paigutus | Vaata eelvaatlusel üle nii lauaarvutis kui telefonis |
| Uus leht või funktsioon | Testi voogu; skanni muudetud faile |
| Sisselogimine, õigused, maksed, isikuandmed | Hoolikas lugemine, päris testimine, kaalu teist ülevaatajat |
| Andmebaasi struktuur, andmete kustutamine, migratsioonid | Loe muudatus, testi koopial, tee enne varukoopia |
Samm 1: vaata, mis muutus
Enne koodi hindamist saa muudatuste loend:
- Kui projekt on Gitis, vaata diffi: faile ja ridu, mis on muutunud pärast viimast commit'i. Vaata kuidas kasutada Gitit AI-ehitatud rakendusega.
- Või küsi AI-lt otse:
Loetle iga fail, mida muutsid viimases muudatuses, ja selgita iga kohta ühe lausega, mis muutus ja miks.
Punased lipud sellel etapil: failid, mis pole päringuga seotud, kustutatud failid, konfiguratsiooni või sõltuvuste muudatused, mida sa polnud palunud.
Samm 2: testi kõigepealt käitumist
Koodi lugemine ütleb, mida see peaks tegema; testimine ütleb, mida see tegelikult teeb. Enne lugemist:
- Proovi muudatust tavalise kasutajana, nii lauaarvutil kui telefoni suurusega ekraanil.
- Proovi valede sisenditega: tühjad väljad, väga pikk tekst, negatiivsed arvud, kuupäev minevikus.
- Proovi välja logituna ja erineva kasutajana.
- Korda kõige olulisemaid voogusid: registreerimine, sisselogimine, põhitegevus, makse.
Kui test ebaõnnestub, oled säästnud lugemisaega — teata sellest selgelt ja lase AI-l parandada. Vaata kuidas kirjutada head veateadet.
Samm 3: kontrolli õigusi serveris
Kõige olulisem asi, mida kontrollida. AI-tööriistad peidavad sageli nupu lehel, kuid jätavad serveri valmis tegevust tegema igaühele, kes seda palub.
Iga marsruudi või funktsiooni kohta, mis loeb või muudab andmeid, küsi:
- Kas see kontrollib, et kasutaja on sisse logitud?
- Kas see kontrollib, et see kasutaja tohib just seda kirjet näha?
- Kas see kontroll toimub serveris, mitte ainult lehel?
Iga API marsruudi kohta, mille lisasid või muutsid, ütle mulle, milline õiguste kontroll see serveris teeb, tsiteeri rida. Märgi iga marsruut, millel seda pole.
Seejärel testi seda: logi sisse kasutajana A, märgi üles kirje ID, logi sisse kasutajana B ja küsi seda kirjet. Turvalisuse kontrollnimekiri AI-ehitatud rakendustele sisaldab täielikku testi.
Samm 4: otsi lekkinud saladusi
- Otsi muudetud failidest midagi, mis näeb välja nagu võti või parool.
- Kontrolli, et saladuslikud võtmed loetakse keskkonnamuutujatest ja neid kasutatakse ainult serveri koodis.
- Jälgi avalikke eesliiteid nagu
VITE_võiNEXT_PUBLIC_saladuslike muutujate juures — need ehitatakse brauseri koodi sisse.
Vaata kuidas hoida API-võtmeid turvaliselt.
Samm 5: kontrolli sisendit ja vigu
- Valideerimine serveris. Brauseri kontrollid saab vahele jätta. Kohustuslikud väljad, pikkused, vormingud ja lubatud väärtused peab kontrollima ka server.
- Andmebaasi päringud kasutavad parameetreid, mitte teksti, mis koosneb kasutaja sisendi kokkuliitmisest päringusse.
- Vigu ei neelata alla.
try/catch, mis ei tee midagi, peidab tõrked. Vead tuleb logida ja kasutajale peab näidatama lihtsat teadet. - Sisemisi detaile ei näidata kasutajatele — stack trace'id ja andmebaasi vead kuuluvad logidesse.
Samm 6: kontrolli, et see on päris
AI mudelid toodavad mõnikord koodi, mis näeb õige välja, kuid viitab asjadele, mida pole olemas.
- Paketid: iga uus sõltuvus peab olema päris, hooldatud pakett täpselt selle nimega. Ole ettevaatlik nimedega, mis näevad välja nagu tuntud pakettide kirjavead.
- Funktsioonid ja API valikud: kui kood kutsub raamatukogu funktsiooni või välise API valikut, mida pole kunagi näinud, kontrolli ametlikku dokumentatsiooni.
- Kohatäitekood: otsi
TODO,mock,fake, kõvasti kodeeritud näidisandmeid või funktsioone, mis tagastavad fikseeritud väärtuse.
Kas lisasid uusi pakette? Iga kohta too täpne nimi, milleks see on ja kas saaksime ilma selleta hakkama.
Samm 7: kontrolli, kas see sobib
Kood võib töötada ja siiski muuta rakenduse hiljem muutmise raskemaks:
- Dubleerimine. Sama loogika kopeeritud mitmesse kohta hakkab lahknema.
- Järjepidevus. See peaks järgima mustreid, mida rakenduse ülejäänud osa kasutab.
- Suurus. 20-realine päring, mis tootis 600 rida, väärib küsimust.
- Kasutamata kood. Vanad versioonid uute kõrvale.
Kas projektis on mõni kood, mis muutus selle muudatuse tõttu kasutuks, või loogika, mis on mujal dubleeritud? Ära muuda midagi; loetle ainult.
Levinud vead
- Heakskiitmine, sest see näeb puhas välja. Korralik kood võib ikka õiguste kontrolli vahele jätta.
- Lugemine testimise asemel. Testi kõigepealt; loe teisena.
- Ainult õnnestunud stsenaariumi testimine. Proovi valet sisendit, valet kasutajat ja väljalogitud olekut.
- Muudatuste ignoreerimine, mis ei ole seotud. Küsi, miks iga fail muutus.
- Enesekontrolli täielik usaldamine. Kasuta AI ülevaatust esimese läbivaatusena ja kinnita testimisega.
- Terve nädala muudatuste läbivaatamine korraga. Vaata väikseid muudatusi üle nende tekkimisel.
Kontrollnimekiri
- Ma tean, milliseid faile muudeti ja miks, ning midagi seotud pole muutunud.
- Muudatus töötab nii lauaarvutil kui telefonis, valede sisenditega, väljalogituna ja teise kasutajana.
- Iga andmemarsruut kontrollib sisselogimist ja omandit serveris.
- Saladusi pole koodis ega brauseri paketis.
- Sisend valideeritakse serveris; päringud kasutavad parameetreid.
- Vead logitakse, neid ei neelata alla ega näidata kasutajale üksikasjalikult.
- Uued paketid on päris ja vajalikud; väljamõeldud funktsioone ega kohatäiteid ei jää alles.
- Suure riskiga muudatused said hoolika lugemise ja vajadusel teise ülevaatajana.
Koodi ülevaatus Mythexis
- Küsimuste režiim vastab koodi kohta küsimustele ilma seda muutmata — ideaalne palvetele „selgita iga muudatust” ja „millistel marsruutidel puudub õiguste kontroll”. Vaata Vestlus.
- Koodivaade näitab failipuud, redaktorit ja terminali igal paketil (Free-paketil ainult lugemiseks, Pro-l muudetav), et saaksid ise lugeda, mis muutus. Vaata Koodiredaktor.
/testlaseb agendil klõpsata eelvaatluses kasutajana läbi ja teatada katkistest voogudest.- Kontrollpunktid võimaldavad tagasi pöörata muudatuse, mis ülevaatusel ebaõnnestub.
Kui arendaja vaatab sinu eest üle, katab kuidas töötada arendajaga AI-ehitatud rakenduse kallal üleandmise; kui ülevaatus toob esile vea, vaata kuidas siluda AI-ehitatud rakendust.
Küsimused
Kas ma saan AI-genereeritud koodi üle vaadata, kui ma pole arendaja?
Suure osa sellest saad. Kontrolli, et muudatus teeb seda, mida palusid, testi olulisi voogusid, proovi pääseda ligi teise kasutaja andmetele ning palu AI-l selgitada iga muudetud faili lihtsas keeles. Maksete, tundliku andmete või turvalisuse puhul vaatab üle ka arendaja.
Millised on AI-genereeritud koodi kõige levinumad probleemid?
Puuduvad serveripoolsed õiguste kontrollid, saladused kohtades, mida brauser saab lugeda, sisend, mida serveris ei valideerita, paketid või funktsioonid, mida pole olemas, vead, mis neelatakse vaikselt alla, ja muudatused failides, mida sa polnud palunud muuta.
Kas ma saan paluda AI-l oma koodi üle vaadata?
Jah, ja see leiab sageli päris probleeme, eriti kui küsid konkreetseid küsimusi, näiteks millistel marsruutidel puudub õiguste kontroll. Käsitle seda esimese läbivaatusena, mitte garantiina, ja kinnita leitud asjad testimisega.
Kui kaua peaks koodi ülevaatus võtma?
Mõõdu see riskiga. Teksti- või stiilimuudatus vajab kiiret pilku eelvaatlusel. Muudatused sisselogimisse, maksetesse, õigustesse või andmebaasi väärivad hoolikat lugemist, päris testimist ja võib-olla teist inimest.