Unità 4 / 12

Reviżjoni tal-Kodiċi u Tfittxija ta' Żbalji

Qligħ:

  • Kapaċità li tuża AI bħala filtru ta 'reviżjoni inizjali b'kategoriji u tikketti ta' severità
  • Kapaċità li tiffiltra s-sejbiet bil-moħħ tal-bniedem biex tivverifika/pożittiv falz/applika
  • Kapaċità li tinforza r-rekwiżiti tal-approvazzjoni tal-bniedem fuq ir-regola tan-negozju, l-arkitettura u deċiżjonijiet kritiċi għas-sigurtà

Ir-reviżjoni tal-kodiċi hija meta bidla miktuba minn żviluppatur tiġi riveduta minn xi ħadd ieħor qabel ma tiġi magħquda. Reviżjoni tajba; Huwa jaqbad bugs kmieni, jaqsam l-informazzjoni, u jżomm il-bażi tal-kodiċi konsistenti. Iżda r-reviżjonijiet huma għeja, suxxettibbli għal distrazzjoni, u jsiru superfiċjali taħt pressjoni tal-ħin. L-intelliġenza artifiċjali hija assistent doppju hawnhekk: tippermettilek kemm tnaddaf minn qabel il-kodiċi tiegħek stess li tissottometti għar-reviżjoni kif ukoll teżamina l-PR ta 'xi ħadd ieħor (pull request) b'għajn aktar qawwija.

Id-distinzjoni kritika hija din: l-AI tħaffef u ssaħħaħ ir-reviżjoni, iżda ma tistax tieħu f'idejha r-responsabbiltà għall-approvazzjoni. Is-sentenza "AI ħares, huwa nadif" mhix approvazzjoni. Id-deċiżjoni finali ta '"għaqda" hija f'idejn inġinier li jaf il-kodiċi u l-kuntest.

X'inhu l-AI Tajba u Ħażina fir-Reviżjoni

Tajjeb għal: Null check miss, tnixxijiet ta’ riżorsi (fajl/link jibqa’ miftuħ), eċċezzjonijiet mhux maqbuda, kundizzjonijiet ovvjament ħżiena (>= minflok >), suġġerimenti ta’ għoti ta’ isem ġdid, leġibbiltà, każ tat-tarf nieqes, irwejjaħ sempliċi ta’ sigurtà (bħal konkatenazzjoni ta’ string SQL), skoperta ta’ kodiċi duplikat.

Nuqqasijiet: Difetti profondi li jiksru r-regola tan-negozju tiegħek iżda jeħtieġu kuntest u ħin, bħal loġika sintattikament korretta, konformità arkitettonika, konġestjonijiet fil-prestazzjoni reali, żbalji fl-istess ħin. L-AI tipproduċi wkoll pożittivi foloz (li tiżbalja xi ħaġa li fil-fatt mhijiex problema għal problema) u negattivi foloz (nieqes il-bug reali). Għalhekk, l-output tiegħu huwa "lista ta' kawtela", mhux verdett definittiv.

Attenzjoni: Sempliċement għax l-AI tgħid "l-ebda problema" ma jipprovax li l-kodiċi huwa korrett. Negattivi foloz huma siekta; L-iżbalji l-aktar perikolużi huma dawk li qatt ma jissemmew fir-reviżjoni.

Passi ta' Reviżjoni Sistematika

  1. Agħti l-kuntest. Żid l-iskop tal-bidla, il-kwistjoni rilevanti u l-kriterji ta’ aċċettazzjoni, jekk ikun hemm, mal-pront. Ir-reviżjoni bla skop tipproduċi interpretazzjoni bla skop.
  2. Aqsamha f'kategoriji. Staqsi lill-mudell biex jikklassifika s-sejbiet bħala "bug/sigurtà/prestazzjoni/leġibbiltà/stil"; sabiex tissepara l-kritika mill-istorbju.
  3. Itlob tikketta tas-severità. Agħti kull sejba klassifikazzjoni "għolja/medja/baxxa" u inkludi "kawża" u "korrezzjoni rrakkomandata."
  4. Iffiltraha b'għajnejk. Evalwa kull sejba: hija reali (ivverifika), hija pożittiva falza (tikseb ġustifikazzjoni), hemm xi ħaġa nieqsa (żid l-għarfien tiegħek).
  5. Ivverifika l-mogħdijiet kritiċi manwalment. Aqra u eżegwixxi rotot li jinvolvu flus, identità, awtorizzazzjoni u tħassir tad-dejta lilek innifsek mingħajr ma sserraħ fuq l-AI.

Tliet Każijiet Mini

Każ 1 — Żball null siekta maqbud. Tim wieħed kellu AI minn qabel reviżjoni PR 380-linja. Il-mudell indika mod li bih rispons ta 'servizz estern jista' jkun null, iżda ma saru l-ebda kontrolli għal dan fil-kodiċi. Ir-reviżur uman ivverifika din it-triq u żied kontroll null; Żball simili kkawża interruzzjoni ta 'sagħtejn fil-produzzjoni fit-trimestru ta' qabel.

Każ 2 — Eliminazzjoni pożittiva falza. L-AI indikat "kwistjoni ta' prestazzjoni possibbli" f'linja. Ir-reviżur għalaq dan bħala pożittiv falz, billi kien jaf li l-linja taħdem biss b'massimu ta 'elementi 5 (jiċċaqlaq fuq enum). Il-mudell, li ma kienx jaf il-kuntest, wissiet; Il-persuna li kienet taf il-kuntest ħadet id-deċiżjoni t-tajba.

Każ 3 — AI mitlufa żball fir-regola tan-negozju. Filwaqt li kont ta' skont għandu jkun massimu ta' 30% skont ir-regola tal-kampanja, il-kodiċi ppermetta 50%. L-AI qatt ma nnotat dan l-iżball loġiku sintattikament perfett; għax ma kienx jaf ir-regola. Il-bug inqabad fir-reviżjoni mis-sid tal-prodott li kien jaf il-kriterji ta 'aċċettazzjoni. Lezzjoni: il-validazzjoni tar-regoli tan-negozju hija biċċa xogħol umana.

Erba' Mudelli Kopjabbli

Reviżjoni kategorizzata orjentata lejn l-iskop:

Rwol: Reviżur tal-kodiċi metikoluż. Għan tal-bidla: {{purpose / issue}}Irrevedi din id-differenza. Ipprovdi sejbiet f'dawn il-kategoriji: [Bug] [Sigurtà][Prestazzjoni] [Leġibbiltà] [Stil]. Għal kull sejba: fajl: ringiela, severità (għolja/medju/baxxa), kawża, tiffissa rakkomandata. Immarka "possibbli" jekk m'intix ċert. Ma tafx ir-regoli tan-negozju; Staqsini dwar postijiet li jeħtieġu regoli.{{diff}}

Biex tipprepara biex tirrevedi l-kodiċi tiegħek stess:

Irrevedi din il-bidla qabel tiftaħ PR. Fittex għal: null/bugcheck nieqes, tnixxija tar-riżorsi, każ tat-tarf, sigriet, fergħa mhux ittestjata. Elenka s-sejbiet f'ordni ta' prijorità; tissuġġerixxi korrezzjoni linja waħda għal kull waħda.{{code}}

Kaċċa fil-każ tat-tarf:

Elenka l-inputs u s-sitwazzjonijiet fejn din il-funzjoni tista' tinkiser: vojta, nulla, kbira wisq, negattiva, sejħa konkorrenti, żball tan-netwerk, dejta parzjali. Għal kull każ, ikteb l-imġieba mistennija u x'se jagħmel il-kodiċi attwali.{{funzjoni}}

Skennjar tar-riħa tas-sigurtà (pre-screening):

Fittex irwejjaħ ta 'sigurtà komuni f'dan il-kodiċi: konkatenazzjoni SQL/kmand, input mhux validat, sigriet inkorporat immutabbli, deserialize mhux sigur, nuqqas ta' verifika ta 'privileġġ. Separa s-sejbiet f'"ċerti / probabbli / għarfien". Dan huwa screening preliminari; Mhijiex deċiżjoni definittiva.{{code}}

Pront dgħajjef / Pront qawwi

Dgħajjef: "Hemm żball f'dan il-PR?"
Qawwija: "Għan: żid skont tal-kupun mat-total tal-karrettun (l-iskont m'għandux ikun aktar minn 30% — ma tistax tivverifika din ir-regola lilek innifsek, għidli biss jekk il-kodiċi jimponix limitu massimu). Eżamina diff; agħti s-sejbiet skont il-kategorija + severità + korrezzjoni ssuġġerita, immarka 'possibbli' jekk mhux ċert. [diff]"

Il-verżjoni b'saħħitha tiddikjara b'mod ċar l-intenzjoni, ir-regola tan-negozju, u l-konfini tal-AI; Għalhekk, sejbiet utli jiġu u ż-żona mhux magħrufa għall-mudell tibqa 'ċara.

Tfittxija tat-tip

Affidabbiltà tal-AI

ir-rwol tal-bniedem

Kontroll null/iżball nieqes

għolja

Ivverifika u applika

Leġibbiltà/stil

għolja

Agħżel bi preferenza

Riħa sempliċi ta 'sigurtà

medju

Iffinalizza, skennja bil-vettura

Konformità tar-regoli tan-negozju

baxx

Huwa kompletament uman.

Konkorrenza/arkitettura

baxx

Reviżjoni esperta hija meħtieġa

Ir-Reviżjoni tal-AI Mhix Sostitut għar-Reviżjoni tal-Bniedem

Pożizzjona r-reviżjoni tal-AI bħala "l-ewwel filtru": pass preliminari irħis, veloċi u bla heda. Dan il-filtru jeħles l-attenzjoni tar-reviżur uman minn dettalji mhux importanti (spazju, isem) u jidderieġih lejn postijiet li verament jeħtieġu ħsieb—ir-regola tan-negozju, l-arkitettura, ir-riżultat tas-sigurtà. Iżda l-approvazzjoni tal-għaqda hija l-firma ta 'persuna responsabbli fi ħdan it-tim. Reviżjoni indipendenti minn mill-inqas inġinier kompetenti wieħed hija obbligatorja għal bidliet kritiċi għas-sikurezza.

Tip: Aqra l-lista tas-sejbiet li l-AI tipproduċi bħala "affarijiet li għandhom jiċċekkjaw" aktar milli "x'tagħmel". Jew tivverifika u applika kull oġġett jew ikteb f'sentenza waħda għaliex għadditha; din it-traċċa tagħmel ir-reviżjoni verifikabbli.

Żbalji komuni

  • Dan ifisser "AI ħares, huwa nadif". Dan huwa sens falz ta 'kunfidenza minħabba negattivi foloz.
  • Mhux tagħti kuntest. Mingħajr kriterji ta 'skop u aċċettazzjoni, il-mudell jipproduċi biss interpretazzjonijiet ta' stil superfiċjali.
  • Blindly japplikaw pożittivi foloz. L-iffissar ta 'kull twissija tal-mudell jista' jikser il-kodiċi tat-tħaddim.
  • Tistaqsi lill-mudell dwar ir-regola tan-negozju. Il-mudell ma jafx ir-regola; Huwa f'idejn il-bniedem li jivverifikaha.
  • Tiddiskriminax kontra l-vjolenza. It-tqegħid ta’ sejba ta’ sigurtà kritika u suġġeriment ta’ isem fl-istess borża jgħolli dak li hu importanti.

Fil-qosor

L-AI hija l-ewwel filtru bla heda fir-reviżjoni tal-kodiċi: taqbad null/żball miss, każijiet tat-tarf, u sigurtà sempliċi tinxtamm tajjeb; iżda huwa dgħajjef fuq difetti li jirrikjedu l-kuntest bħar-regola tan-negozju, l-arkitettura, u l-konkorrenza, u jipproduċi kemm pożittivi foloz kif ukoll negattivi foloz. Itlob is-sejbiet skont il-kategorija u s-severità, iffiltra kull wieħed b'intelliġenza umana, ivverifika manwalment il-mogħdijiet kritiċi. L-approvazzjoni hija dejjem il-firma ta 'inġinier responsabbli.

Kompitu ta' applikazzjoni

Agħżel PR/diff reali jew riċenti. L-ewwel, agħmel li l-AI tirrevediha bil-mudell "orjentat lejn l-objettiv, reviżjoni tal-kategorija". Poġġi s-sejbiet f'tabella u iddeċiedi għal kull wieħed: veru (ivverifikajt), pożittiv falz (hawn hu r-raġunament tiegħi), jew li trid tiġi implimentata. Imbagħad agħmel dawra lilek innifsek u tipprova ssib mill-inqas ħaġa waħda (speċjalment regola tan-negozju jew każ tat-tarf) li l-AI hija nieqsa u iktebha.

lista ta' kontroll

  • [ ] Jien nuża reviżjoni AI bħala l-ewwel filtru, mhux approvazzjoni.
  • [ ] Inżid l-iskop u l-kriterji ta' aċċettazzjoni mal-pront tar-reviżjoni.
  • [ ] Nissepara s-sejbiet mill-istorbju skont il-kategorija u nixtieqhom bil-qawwa.
  • [ ] Jien konxjament niffiltra kull sejba biex nikkonferma/pożittiv falz/napplika.
  • [ ] Bħala bniedem, niċċekkja r-regola tan-negozju u l-konformità arkitettonika.
  • [ ] Neħtieġ approvazzjoni minn inġinier kwalifikat għal bidliet kritiċi għas-sikurezza.