Kā pārskatīt AI ģenerētu kodu
Lai pārskatītu AI ģenerētu kodu, sāciet ar to, kas mainījies — kuri faili un kāpēc — un pēc tam testējiet uzvedību pats, pirms lasāt kaut vienu koda rindu. Pēc tam pārbaudiet jomas, kurās AI kods visbiežāk kļūdās: trūkstošas servera puses atļauju pārbaudes, noslēpumi, kas pieejami pārlūkam, nevalidēti ievades dati, pakotnes vai funkcijas, kas neeksistē, un labojumi lietām, kurām neesat lūguši pieskarties.
AI raksta kodu, kas parasti darbojas un bieži izskatās kārtīgs. Tas padara viegli to apstiprināt, neko patiesi nepārbaudot. Šis ceļvedis ir pārskatīšanas rutīna, kas der neatkarīgi no tā, vai lasāt kodu brīvi vai nemaz.
Mērogojiet pārskatīšanu pēc riska
Ne katrai izmaiņai nepieciešama vienāda uzmanība.
| Izmaiņa | Pārskatīšana |
|---|---|
| Teksts, krāsas, izkārtojums | Paskatieties priekšskatījumā darbvirsmā un tālrunī |
| Jauna lapa vai funkcija | Pārbaudiet plūsmu; pārlūkojiet mainītos failus |
| Pieteikšanās, atļaujas, maksājumi, personas dati | Rūpīga izlasīšana, reāla testēšana, apsveriet otru pārskatītāju |
| Datubāzes struktūra, datu dzēšana, migrācijas | Izlasiet izmaiņu, testējiet uz kopijas, vispirms dublējiet |
1. solis: pārbaudiet, kas mainījies
Pirms sprieduma par kodu, iegūstiet izmaiņu sarakstu:
- Ja projekts ir Git, apskatiet diff: failus un rindas, kas mainījušās kopš pēdējās iesniegšanas. Skatiet kā izmantot Git ar AI veidotu lietotni.
- Vai jautājiet AI tieši:
Uzskaitiet katru failu, ko mainījāt pēdējā izmaiņā, un katram vienā teikumā paskaidrojiet, kas mainījās un kāpēc.
Brīdinājuma signāli šajā posmā: faili, kas nav saistīti ar pieprasījumu, dzēsti faili, izmaiņas konfigurācijā vai atkarībās, ko neesat lūguši.
2. solis: vispirms testējiet uzvedību
Kodu lasot redzat, ko tas paredzēts darīt; testējot redzat, ko tas patiesi dara. Pirms lasīšanas:
- Izmēģiniet izmaiņu kā parasts lietotājs, darbvirsmā un ar tālruņa izmēra ekrānu.
- Izmēģiniet ar nepareizu ievadi: tukšiem laukiem, ļoti garu tekstu, negatīviem skaitļiem, datumu pagātnē.
- Izmēģiniet izrakstījies un kā cits lietotājs.
- Atkārtojiet vissvarīgākās plūsmas: reģistrācija, pieteikšanās, galvenā darbība, maksājums.
Ja testēšana neizdodas, esat ietaupījis lasīšanas laiku — ziņojiet par to skaidri un ļaujiet AI to salabot. Skatiet kā uzrakstīt labu kļūdas ziņojumu.
3. solis: pārbaudiet atļaujas serverī
Vissvarīgākā pārbaude. AI rīki bieži paslēpj pogu lapā, bet serverim atstāj gatavību veikt darbību ikvienam, kas to pieprasa.
Katram maršrutam vai funkcijai, kas lasa vai maina datus, jautājiet:
- Vai tā pārbauda, vai lietotājs ir pieteicies?
- Vai tā pārbauda, vai šis lietotājs drīkst piekļūt šim ierakstam?
- Vai šī pārbaude notiek serverī, nevis tikai lapā?
Katram API maršrutam, ko pievienojāt vai mainījāt, pasakiet, kādu atļauju pārbaudi tas veic serverī, citējot rindu. Atzīmējiet katru maršrutu bez tādas.
Pēc tam pārbaudiet: pieteicieties kā lietotājs A, pierakstiet ieraksta ID, pēc tam pieteicieties kā lietotājs B un pieprasiet šo ierakstu. Pilna pārbaude ir drošības kontrolsarakstā AI veidotām lietotnēm.
4. solis: meklējiet atklātus noslēpumus
- Pārmeklējiet mainītos failus, vai nav kaut kas, kas izskatās pēc atslēgas vai paroles.
- Pārbaudiet, vai slepenās atslēgas tiek nolasītas no vides mainīgajiem un izmantotas tikai servera kodā.
- Uzmanieties no publiskiem prefiksiem, piemēram,
VITE_vaiNEXT_PUBLIC_, kas pievienoti slepeniem mainīgajiem — tie tiek ieveidoti pārlūka kodā.
Skatiet kā glabāt API atslēgas drošībā.
5. solis: pārbaudiet ievadi un kļūdas
- Validācija serverī. Pārlūka pārbaudes var apiet. Obligātie lauki, garumi, formāti un atļautās vērtības jāpārbauda arī serverim.
- Datubāzes vaicājumi izmanto parametrus, nevis tekstu, kas veidots, savienojot lietotāja ievadi ar vaicājumu.
- Kļūdas netiek klusi norītas.
try/catch, kas neko nedara, slēpj kļūmes. Kļūdas jāieraksta žurnālā, un lietotājs redz vienkāršu ziņojumu. - Lietotājiem netiek rādītas iekšējas detaļas — steka izsekojumi un datubāzes kļūdas pieder žurnāliem.
6. solis: pārbaudiet, vai tas ir īsts
AI modeļi dažkārt rada kodu, kas izskatās pareizi, bet atsaucas uz lietām, kuru nav.
- Pakotnes: katrai jaunajai atkarībai jābūt īstai, uzturētai pakotnei ar tieši šo nosaukumu. Uzmanieties no nosaukumiem, kas izskatās pēc populāru pakotņu drukas kļūdām.
- Funkcijas un API opcijas: ja kods izsauc bibliotēkas funkciju vai ārējā API opciju, ko neesat redzējis, pārbaudiet oficiālo dokumentāciju.
- Vietturu kods: meklējiet
TODO,mock,fake, iekodētus paraugdatus vai funkcijas, kas atgriež fiksētu vērtību.
Vai pievienojāt jaunas pakotnes? Katrai dodiet precīzu nosaukumu, kam tā paredzēta un vai to varētu iztikt bez tās.
7. solis: pārbaudiet, vai tas der
Kods var darboties un tomēr padarīt lietotni grūtāk mainīt vēlāk:
- Dublēšanās. Vienu un to pašu loģiku, kas nokopēta vairākās vietās, atšķirsies.
- Konsekvence. Tam jāseko modeļiem, ko izmanto pārējā lietotne.
- Izmērs. 20 rindu pieprasījums, kas radīja 600 rindu, prasa jautājumu.
- Nelietots kods. Vecās versijas, kas palikušas blakus jaunajām.
Vai kādā projekta daļā kods tagad ir nelietots šīs izmaiņas dēļ, vai loģika dublēta citur? Nemainiet neko, tikai uzskaitiet.
Biežākās kļūdas
- Apstiprināšana, jo izskatās tīrs. Kārtīgs kods joprojām var izlaist atļauju pārbaudi.
- Lasīšana, nevis testēšana. Vispirms testējiet, pēc tam lasiet.
- Testēšana tikai ideālajā scenārijā. Izmēģiniet nepareizu ievadi, nepareizu lietotāju un izrakstīšanos.
- Nepiegriežot uzmanību nesaistītām failu izmaiņām. Jautājiet, kāpēc mainījās katrs fails.
- Pilnīga paļaušanās uz pašpārskatu. Izmantojiet AI pārskatu kā pirmo kārtu un apstipriniet ar testēšanu.
- Nedēļas izmaiņu pārskatīšana uzreiz. Pārskatiet mazas izmaiņas, kad tās notiek.
Kontrolsaraksts
- Zinu, kuri faili mainījās un kāpēc, un nekas nesaistīts nemainījās.
- Izmaiņa darbojas darbvirsmā un tālrunī, ar nepareizu ievadi, izrakstījies un kā cits lietotājs.
- Katrs datu maršruts pārbauda pieteikšanos un īpašumtiesības serverī.
- Nav noslēpumu kodā vai pārlūka paketēs.
- Ievade tiek validēta serverī; vaicājumi izmanto parametrus.
- Kļūdas tiek ierakstītas žurnālā, nevis norītas, un lietotājiem netiek rādītas sīkas detaļas.
- Jaunās pakotnes ir īstas un vajadzīgas; izdomātu funkciju vai vietturu nav.
- Augsta riska izmaiņas ir rūpīgi izlasītas un, ja vajadzīgs, pārskatītas ar otru cilvēku.
Koda pārskatīšana Mythex
- Ask režīms atbild uz jautājumiem par kodu, neko nerediģējot — ideāli piemērots uzvednēm "paskaidro katru izmaiņu" un "kuriem maršrutiem trūkst atļauju pārbaudes". Skatiet Tērzēšana.
- Koda skats rāda failu koku, redaktoru un termināli katrā plānā (Free plānā tikai lasāms, Pro plānā rediģējams), lai jūs pats varētu izlasīt, kas mainījies. Skatiet Koda redaktors.
/testliek aģentam noklikšķināt caur priekšskatījumu kā lietotājam un ziņot par bojātām plūsmām.- Kontrolpunkti ļauj atgriezt izmaiņu, kas neizturēja pārskatu.
Ja koda pārskatu veic izstrādātājs jūsu vietā, kā strādāt ar izstrādātāju pie AI veidotas lietotnes aptver nodošanu; ja pārskats atklāj kļūdu, skatiet kā atkļūdot AI veidotu lietotni.
Jautājumi
Vai varu pārskatīt AI ģenerētu kodu, ja neesmu izstrādātājs?
Daudz varat. Pārbaudiet, vai izmaiņa dara to, ko lūdzāt, pārbaudiet svarīgākās plūsmas, mēģiniet piekļūt cita lietotāja datiem un lūdziet AI paskaidrot katru mainīto failu vienkāršā valodā. Maksājumiem, sensitīviem datiem vai drošībai arī izstrādātājam jāpaskatās.
Kādas ir biežākās problēmas AI ģenerētā kodā?
Trūkstošas servera puses atļauju pārbaudes, noslēpumi vietā, kur pārlūks tos var nolasīt, ievades dati, ko serveris nevalidē, pakotnes vai funkcijas, kas neeksistē, kļūdas, kas klusi tiek norītas, un izmaiņas failos, kurus neesat lūguši mainīt.
Vai varu lūgt AI pārskatīt savu pašu kodu?
Jā, un tas bieži atrod reālas problēmas, it īpaši, ja uzdodat konkrētus jautājumus, piemēram, kuriem maršrutiem trūkst atļauju pārbaudes. Uzskatiet to par pirmo pārskatu, nevis garantiju, un apstipriniet atradumus, testējot.
Cik ilgi jāaizņem koda pārskatīšana?
Mērogojiet to pēc riska. Teksta vai stila izmaiņai pietiek ātri paskatīties priekšskatījumā. Izmaiņām pieteikšanās, maksājumos, atļaujās vai datubāzē vajadzīga rūpīga izlasīšana, reāla testēšana un, iespējams, otrs cilvēks.