Câștiguri:
- Abilitatea de a utiliza AI ca filtru inițial de revizuire cu categorii și etichete de severitate
- Abilitatea de a filtra constatările cu mintea umană pentru a verifica/fals pozitiv/a aplica
- Capacitatea de a aplica cerințele de aprobare umană pentru regulile de afaceri, arhitectura și deciziile critice pentru securitate
Examinarea codului este atunci când o modificare scrisă de un dezvoltator este revizuită de altcineva înainte de a fi îmbinată. O recenzie bună; Detectează erorile devreme, partajează informații și menține baza de cod consecventă. Dar recenziile sunt obositoare, predispuse la distragerea atenției și devin superficiale sub presiunea timpului. Inteligența artificială este un asistent dublu aici: vă permite atât să vă curățați în prealabil propriul cod pe care îl trimiteți spre revizuire, cât și să examinați PR-ul altcuiva (pull request) cu un ochi mai ascuțit.
Distincția critică este următoarea: AI accelerează și îmbunătățește revizuirea, dar nu poate prelua responsabilitatea aprobării. Propoziția „AI arăta, este curat” nu este o susținere. Decizia finală de „combinare” este la latitudinea unui inginer care cunoaște codul și contextul.
Despre ce este bun și rău AI în recenzie
Bun pentru: erori de verificare nulă, scurgeri de resurse (fișier/link rămâne deschis), excepții neprinse, condiții evident greșite (>= în loc de >), sugestii de redenumire, lizibilitate, majuscule lipsă, mirosuri simple de securitate (cum ar fi concatenarea șirurilor SQL), detectarea codului duplicat.
Puncte slabe: defecte profunde care încalcă regula dvs. de afaceri, dar necesită context și sincronizare, cum ar fi logica corectă din punct de vedere sintactic, conformitatea arhitecturală, blocajele de performanță reală, erorile de concurență. AI produce, de asemenea, false pozitive (confundarea cu ceva care nu este de fapt o problemă cu o problemă) și false negative (lipsând bug-ul real). Prin urmare, rezultatul său este o „listă de precauție”, nu un verdict definitiv.
Atenție: Doar pentru că AI spune „nicio problemă” nu dovedește că codul este corect. Falsele negative sunt tăcute; Cele mai periculoase greșeli sunt cele care nu sunt niciodată menționate în recenzie.
Pașii de revizuire sistematică
- Dați contextul. Adăugați scopul modificării, problema relevantă și criteriile de acceptare, dacă există, la prompt. Revizuirea fără scop produce o interpretare fără scop.
- Împărțiți-l în categorii. Cereți modelului să clasifice constatările ca „bug/securitate/performanță/lizibilitate/stil”; deci separă criticul de zgomot.
- Solicitați o etichetă de severitate. Acordați fiecărei constatări o evaluare „mare/medie/scăzută” și includeți „cauza” și „corecția recomandată”.
- Filtrați-l cu proprii tăi ochi. Evaluați fiecare constatare: este reală (verificați), este un fals pozitiv (scrieți justificarea), lipsește ceva (adăugați propriile cunoștințe).
- Verificați manual căile critice. Citiți și executați singur rute care implică bani, identitate, autorizare și ștergere a datelor, fără a vă baza pe AI.
Trei mini carcase
Cazul 1 — Eroare nulă silențioasă capturată. O echipă a avut AI pre-evaluare un PR de 380 de linii. Modelul a semnalat o modalitate prin care un răspuns de serviciu extern ar putea fi nul, dar nu au fost efectuate verificări pentru acest lucru în cod. Revizuitorul uman a verificat această cale și a adăugat o verificare nulă; O eroare similară a provocat o întrerupere de 2 ore a producției în trimestrul precedent.
Cazul 2 — Eliminare fals pozitivă. AI a semnalat o „posibilă problemă de performanță” într-o buclă. Revizorul a închis acest lucru ca un fals pozitiv, știind că bucla funcționează doar cu maximum 5 elemente (se trece peste o enumerare). Modelul, care nu cunoștea contextul, a avertizat; Persoana care cunoștea contextul a luat decizia corectă.
Cazul 3 – AI a ratat o eroare a regulilor de afaceri. În timp ce un cont de reducere ar trebui să fie de maximum 30% conform regulii campaniei, codul permitea 50%. AI nu a observat niciodată această eroare logică perfectă din punct de vedere sintactic; pentru că nu știa regula. Bug-ul a fost surprins în recenzie de către proprietarul produsului care cunoștea criteriile de acceptare. Lecție: validarea regulilor de afaceri este o muncă umană.
Patru șabloane copiabile
Evaluare clasificată, orientată spre scop:
Rol: examinator meticulos de cod. Scopul modificării: {{purpose / issue}}Examinați această diferență. Furnizați constatări în aceste categorii: [Eroare] [Securitate][Performanță] [Lizibilitate] [Stil]. Pentru fiecare constatare: fișier:rând, severitate (mare/medie/scăzută), cauză, remediere recomandată. Marcați „posibil” dacă nu sunteți sigur. Nu cunoașteți regulile de afaceri; Întrebați-mă despre locurile care necesită reguli.{{diff}}
Pentru a vă pregăti să vă revizuiți propriul cod:
Examinați această modificare înainte de a deschide un PR. Căutați: nul/bugcheck lipsă, scurgere de resurse, caz marginal, secret, ramură netestată. Enumerați constatările în ordinea priorității; sugerează corectare 1 rând pentru fiecare.{{code}}
Hunt case Edge:
Listați intrările și situațiile în care această funcție s-ar putea întrerupe: gol, nul, prea mare, negativ, apel simultan, eroare de rețea, date parțiale. Pentru fiecare caz, scrieți comportamentul așteptat și ce va face codul curent.{{funcție}}
Scanare de miros de securitate (pre-screening):
Căutați mirosuri comune de securitate în acest cod: concatenare SQL/comandă, intrare nevalidată, secret încorporat imuabil, deserializare nesigură, lipsă de verificare a privilegiilor. Separați constatările în „anumite/probabile/cunoștințe”. Aceasta este o examinare preliminară; Nu este o hotărâre definitivă.{{code}}
Prompt slab / Prompt puternic
Slab: „Există o greșeală în acest PR?”
Puternic: „Scop: adăugați reducerea cuponului la totalul coșului (reducerea nu trebuie să fie mai mare de 30% — nu puteți verifica singur această regulă, spuneți-mi doar dacă codul impune o limită superioară). Examinați diferența; oferiți constatările după categorie + gravitate + corecția sugerată, marcați „posibil” dacă nu sunteți sigur. [diff]"
Versiunea puternică precizează în mod clar intenția, regula de afaceri și limita AI; Astfel, vin constatări utile și zona necunoscută modelului rămâne clară.
Găsirea tipului
Fiabilitatea AI
rolul omului
Verificare nulă/eroare lipsește
înalt
Verificați și aplicați
Lizibilitate/stil
înalt
Alegeți după preferință
Miros simplu de securitate
mediu
Finalizați, scanați cu vehiculul
Respectarea regulilor de afaceri
scăzută
Este în întregime umană.
Concurență/arhitectură
scăzută
Este necesară evaluarea unui expert
AI Review nu este un înlocuitor pentru Human Review
Poziționați revizuirea AI ca un „prim filtru”: o trecere preliminară ieftină, rapidă și neobosită. Acest filtru eliberează atenția recenzentului uman de detalii neimportante (un spațiu, un nume) și o direcționează către locuri care necesită cu adevărat gândire - regula de afaceri, arhitectura, rezultatul securității. Dar aprobarea fuziunii este semnătura unei persoane responsabile din cadrul echipei. Revizuirea independentă de către cel puțin un inginer competent este obligatorie pentru modificările critice pentru siguranță.
Sfat: Citiți lista de constatări pe care AI le produce ca „lucruri de verificat” mai degrabă decât „de făcut”. Fie verificați și aplicați fiecare element sau scrieți într-o singură propoziție de ce l-ați promovat; această urmă face revizuirea auditabilă.
Greșeli comune
- Înseamnă „AI arăta, este curat”. Acesta este un fals sentiment de încredere din cauza falselor negative.
- Nu oferă context. Fără scop și criterii de acceptare, modelul produce doar interpretări superficiale de stil.
- Aplicarea orbește false pozitive. Remedierea fiecărui avertisment al modelului ar putea rupe codul de rulare.
- Întrebând modelul despre regula de afaceri. Modelul nu cunoaște regula; Depinde de om să verifice.
- Nu discriminați violența. Punerea unei constatări critice de securitate și a unei sugestii de nume în aceeași geantă eclipsează ceea ce este important.
Pe scurt
AI este un prim filtru neobosit în revizuirea codului: prinde greșelile nule/eroare, cazurile marginale și securitatea simplă miroase bine; dar este slab în privința defectelor care necesită context, cum ar fi regulile de afaceri, arhitectura și concurența și produce atât fals pozitive, cât și false negative. Solicitați constatări în funcție de categorie și severitate, filtrați fiecare cu inteligență umană, verificați manual căile critice. Aprobarea este întotdeauna semnătura unui inginer responsabil.
Sarcina de aplicare
Selectați un PR/difer real sau recent. În primul rând, solicitați AI să o revizuiască cu șablonul „evaluare de categorie orientată spre obiective”. Puneți constatările într-un tabel și decideți pentru fiecare: adevărat (am verificat), fals pozitiv (iată raționamentul meu) sau de implementat. Apoi faceți singur un tur și încercați să găsiți cel puțin un lucru (în special o regulă de afaceri sau un caz marginal) care lipsește IA și notați-l.
lista de verificare
- [ ] Folosesc revizuirea AI ca prim filtru, nu o aprobare.
- [ ] Adaug scopul și criteriile de acceptare la solicitarea de revizuire.
- [ ] Separ constatările de zgomot pe categorii și le doresc cu tărie.
- [ ] Filtrez în mod conștient fiecare constatare pentru a confirma/fals pozitiv/aplica.
- [ ] Ca om, verific regulile de afaceri și respectarea arhitecturii.
- [ ] Am nevoie de aprobarea unui inginer calificat pentru modificări critice pentru siguranță.