AI Arendus

AI koodiarvustuses: kasu, piirid ja vastutus

🎧 Kuula kõiki artikleid järjest

AI sobib koodiarvustuse abiliseks, kui ta aitab leida küsimusi. Ta ei sobi lõplikuks otsustajaks, kas muudatus on turvaline ja äriliselt õige.

Mida AI koodiarvustuses teeb

AI-tööriistad (GitHub Copilot, Claude, ChatGPT) suudavad analüüsida koodi muudatusi ja anda tagasisidet enne, kui inimene seda vaatab — või paralleelselt.

Koodiarvustuses aitab AI:

  • Kokku võtta suure diffi — kui pull request on 500 rida, annab AI lühikokkuvõtte, mida muudeti ja miks see võib mõjutada
  • Leida puuduvad veakäsitlused — funktsioon, mis ei käsitle null väärtust, try-catch puudumine, valideerimata sisend
  • Märgata kordusi — sama loogika on juba mujal kirjas, vaja refaktoreerida
  • Pakkuda testijuhtumeid — "selle funktsiooni jaoks võiks testida ka negatiivseid sisendeid"
  • Märgata dokumentatsiooni puudumist — avalik API ilma docblockita

Kus AI piirneb

Projekt-spetsiifiline kontekst puudub. AI ei tea, et see konkreetne moodul on seotud makseprotsessiga, mis ei tohi katkeda, või et seda funktsiooni kutsuvad välja kolm erinevat välist süsteemi. See kontekst on arendajal peas, mitte koodis.

Äriloogika on nähtamatu. Kas see muudatus lõhub mõnda äriprotsessi? AI ei tea kliendi töövoogu ega seda, mida "tellimus peaks tegema" konkreetses ärikontekstis.

Turvariskid vajavad inimese hinnangut. AI võib märgata SQL injektsiooni riski — aga kas see koodikoht on üldse avalikult kättesaadav, kas seal on muid kaitsemehhanisme — seda hindab arendaja.

Võivad tekkida valepositiivsed. AI soovitab mõnikord muudatusi, mis tunduvad mõistlikud aga on vales kohas vales kontekstis. Pimesi aktsepteerimine on ohtlik.

Praktiline töövoog AI koodiarvustusega

Toimiv lähenemine:

  1. Arendaja kirjutab koodi ja teeb pull request-i
  2. AI annab esmase ülevaate — GitHub Copilot, Claude API hook, või käsitsi küsituna
  3. Arendaja vaatab AI kommentaarid läbi — võtab kasulikud, ignoreerib ebaloogilisi
  4. Inimene teeb lõpliku koodiarvustuse — kinnitab äriloogika, turvalisuse, arhitektuuri vastavuse

AI ei asenda inimest — ta vähendab triviaalsete probleemide arvu, mis inimeseni jõuavad.

Drupal-spetsiifilised kasutuskohad

Drupal-projektides on AI koodiarvustus kasulik eriti:

  • Hook implementatsioonide kontroll — kas hook on õigesti implementeeritud, kas tagastatakse õige formaat
  • Twig mallide ülevaatus — XSS kaitse, |escape filtrite olemasolu
  • Composer sõltuvuste analüüs — kas uus sõltuvus on turvaline, kas on aktiivselt hooldatud
  • Migratsioonikood — kas kõik väljaväärtused on õigesti kaardistatud

Vastutus jääb arendajale

AI soovitus on ettepanek, mitte otsus. Kui muudatus puudutab ärikriitilist funktsiooni — makseid, kasutajate autentimist, isikuandmeid — peab inimene iga muudatuse sisuliselt mõistma.

"AI kinnitas selle" ei ole vastuvõetav selgitus, kui midagi läheb valesti.

Meie kasutame AI-d arenduses abivahendina koos automaattestidega ja inimeste koodiarvustusega. Kiirendab tööd, ei asenda vastutust.

Kaido Toomingas, WebPro tehniline juhtWebPro Company OÜ Tehniline juht: Kaido Toomingas

Vajad Drupal abi?

Kui artikkel puudutab sinu olukorda, ei pea kõike lõpuni lugema. Sinuga suhtleb päris inimene ja aitab järgmise sammuni jõuda.