Fitimet:
- Aftësia për të përdorur AI si një filtër rishikimi fillestar me kategoritë dhe etiketat e ashpërsisë
- Aftësia për të filtruar gjetjet me mendjen njerëzore për të verifikuar/false pozitive/aplikuar
- Aftësia për të zbatuar kërkesat e miratimit njerëzor për rregullat e biznesit, arkitekturën dhe vendimet kritike për sigurinë
Rishikimi i kodit është kur një ndryshim i shkruar nga një zhvillues shqyrtohet nga dikush tjetër përpara se të bashkohet. Rishikim i mirë; Ai kap gabimet herët, ndan informacionin dhe e mban bazën e kodit të qëndrueshme. Por rishikimet janë të lodhshme, të prirura për shpërqendrim dhe bëhen sipërfaqësore nën presionin e kohës. Inteligjenca artificiale është një asistent i dyfishtë këtu: ju lejon të pastroni paraprakisht kodin tuaj që dorëzoni për shqyrtim dhe të ekzaminoni PR (kërkesën për tërheqje) të dikujt tjetër me një sy më të mprehtë.
Dallimi kritik është ky: AI përshpejton dhe përmirëson rishikimin, por nuk mund të marrë përgjegjësinë për miratim. Fjalia "AI dukej, është e pastër" nuk është një miratim. Vendimi përfundimtar i "bashkimit" i takon një inxhinieri që njeh kodin dhe kontekstin.
Çfarë është AI është e mirë dhe e keqe në rishikim
I mirë për: humbje të kontrollit të pavlefshëm, rrjedhje burimesh (skedari/lidhja mbetet e hapur), përjashtime të pakapura, kushte padyshim të gabuara (>= në vend të >), sugjerime të riemërtimit, lexueshmëri, erëra të thjeshta të sigurisë (si lidhja e vargjeve SQL), zbulimi i kodit të kopjuar.
Pikat e dobëta: Difekte të thella që shkelin rregullin e biznesit tuaj, por kërkojnë kontekst dhe kohë, të tilla si logjika sintaksore e saktë, pajtueshmëria arkitekturore, pengesat reale të performancës, gabimet e konkurencës. AI prodhon gjithashtu pozitive false (duke ngatërruar diçka që në fakt nuk është problem për një problem) dhe negative false (duke humbur gabimin e vërtetë). Prandaj, prodhimi i saj është një "listë kujdesi", jo një vendim përfundimtar.
Kujdes: Vetëm për shkak se AI thotë "pa problem" nuk provon që kodi është i saktë. Negativët e rremë janë të heshtur; Gabimet më të rrezikshme janë ato që nuk përmenden kurrë në rishikim.
Hapat e rishikimit sistematik
- Jepni kontekstin. Shtoni në kërkesë qëllimin e ndryshimit, çështjen përkatëse dhe kriteret e pranimit, nëse ka. Rishikimi pa qëllim prodhon interpretim pa qëllim.
- Ndani atë në kategori. Kërkojini modelit të klasifikojë gjetjet si "bug/siguri/performancë/lexueshmëri/stil"; kështu që ju ndani kritiken nga zhurma.
- Kërkoni një etiketë të ashpërsisë. Jepini secilit gjetje një vlerësim "të lartë/mesatar/të ulët" dhe përfshini "shkakun" dhe "korrigjimin e rekomanduar".
- Filtrojeni me sytë tuaj. Vlerësoni çdo gjetje: a është e vërtetë (verifiko), a është pozitive false (shkruani justifikimin), a mungon ndonjë gjë (shtoni njohuritë tuaja).
- Verifikoni me dorë shtigjet kritike. Lexoni dhe ekzekutoni vetë rrugët që përfshijnë para, identitet, autorizim dhe fshirje të të dhënave pa u mbështetur në AI.
Tre Mini Rastet
Rasti 1 - U kap gabimi i heshtur zero. Një ekip kishte rishikuar paraprakisht AI një PR me 380 rreshta. Modeli shënoi një mënyrë në të cilën një përgjigje e shërbimit të jashtëm mund të ishte e pavlefshme, por nuk u bënë kontrolle për këtë në kod. Rishikuesi njerëzor e verifikoi këtë shteg dhe shtoi një kontroll të pavlefshëm; Një gabim i ngjashëm shkaktoi një ndërprerje 2-orëshe të prodhimit në tremujorin e mëparshëm.
Rasti 2 - Eliminimi fals pozitiv. Inteligjenca artificiale ka shënuar një "çështje të mundshme të performancës" në një lak. Rishikuesi e mbylli këtë si një pozitiv të rremë, duke ditur se cikli funksionon vetëm me një maksimum prej 5 elementësh (ai kalon mbi një numër). Modelja, e cila nuk e dinte kontekstin, paralajmëroi; Personi që e njihte kontekstin mori vendimin e duhur.
Rasti 3 - AI humbi gabimin e rregullave të biznesit. Ndërsa një llogari zbritje duhet të jetë maksimumi 30% sipas rregullit të fushatës, kodi lejonte 50%. AI nuk e vuri re kurrë këtë gabim logjik të përsosur sintaksor; sepse ai nuk e dinte rregullin. Defekti u kap në rishikim nga pronari i produktit i cili i dinte kriteret e pranimit. Mësimi: Vërtetimi i rregullave të biznesit është një punë njerëzore.
Katër modele të kopjueshme
Rishikim i kategorizuar i orientuar nga qëllimi:
Roli: Rishikues i përpiktë i kodit. Qëllimi i ndryshimit: {{qëllimi / problemi}}Rishiko këtë ndryshim. Jepni gjetjet në këto kategori: [Bug] [Siguria][Performanca] [Lexueshmëria] [Stil]. Për çdo gjetje: skedari: rreshti, ashpërsia (e lartë/mesatare/e ulët), shkaku, rregullimi i rekomanduar. Shënoni "e mundur" nëse nuk jeni të sigurt. Ju nuk i dini rregullat e biznesit; Më pyet për vendet që kërkojnë rregulla.{{ndryshime}}
Për t'u përgatitur për të rishikuar kodin tuaj:
Rishikoni këtë ndryshim përpara se të hapni një PR. Kërkoni: mungon null/kontrolli i gabimeve, rrjedhja e burimeve, rasti i skajit, sekreti, dega e patestuar. Renditni gjetjet sipas prioritetit; sugjeroni korrigjimin 1 rresht për secilën.{{code}}
Gjuetia e kasës së skajit:
Rendisni hyrjet dhe situatat ku mund të prishet ky funksion: bosh, null, shumë i madh, negativ, thirrje në të njëjtën kohë, gabim rrjeti, të dhëna të pjesshme. Për secilin rast, shkruani sjelljen e pritur dhe çfarë do të bëjë kodi aktual.{{funksion}}
Skanimi i aromës së sigurisë (ekranimi paraprak):
Kërkoni aromat e zakonshme të sigurisë në këtë kod: lidhje SQL/komandë, hyrje e pavlefshme, sekret i integruar i pandryshueshëm, deserializimi i pasigurt, mungesa e kontrollit të privilegjeve. Ndani gjetjet në "të sigurta / të mundshme / njohuri". Ky është një kontroll paraprak; Nuk është një vendim përfundimtar.{{kodi}}
Prompt i dobët / Prompt i fortë
I dobët: "A ka ndonjë gabim në këtë PR?"
I fortë: "Qëllimi: shtoni zbritjen e kuponit në totalin e karrocës (zbritja nuk duhet të jetë më shumë se 30% — nuk mund ta verifikoni vetë këtë rregull, thjesht më tregoni nëse kodi vendos një kufi të sipërm). Ekzaminoni ndryshimin; jepni gjetjet sipas kategorisë + ashpërsinë + korrigjimin e sugjeruar, shënoni 'e mundur' nëse nuk jeni të sigurt. [ndryshim]"
Versioni i fortë tregon qartë qëllimin, rregullin e biznesit dhe kufirin e AI; Kështu, vijnë gjetje të dobishme dhe zona e panjohur për modelin mbetet e qartë.
Gjetja e llojit
Besueshmëria e AI
roli i njeriut
Mungon kontrolli null/gabimi
lartë
Verifikoni dhe aplikoni
Lexueshmëria/stili
lartë
Zgjidhni sipas preferencës
Erë e thjeshtë sigurie
e mesme
Finalizoni, skanoni me automjet
Pajtueshmëria e rregullave të biznesit
të ulëta
Është tërësisht njerëzore.
Konkurrenca/arkitektura
të ulëta
Kërkohet rishikimi i ekspertit
Rishikimi i AI nuk është një zëvendësim për shqyrtimin njerëzor
Pozicionoje rishikimin e AI si një "filtër të parë": një leje paraprake e lirë, e shpejtë dhe e palodhur. Ky filtër çliron vëmendjen e recensuesit njerëzor nga detajet e parëndësishme (një hapësirë, një emër) dhe e drejton atë në vendet që kërkojnë vërtet mendim - rregulli i biznesit, arkitektura, rezultati i sigurisë. Por miratimi i bashkimit është nënshkrimi i një personi përgjegjës brenda ekipit. Rishikimi i pavarur nga të paktën një inxhinier kompetent është i detyrueshëm për ndryshime kritike për sigurinë.
Këshillë: Lexoni listën e gjetjeve që AI prodhon si "gjëra për të kontrolluar" dhe jo si "për të bërë". Ose verifikoni dhe zbatoni çdo artikull ose shkruani me një fjali pse e keni miratuar; kjo gjurmë e bën rishikimin të auditueshëm.
Gabimet e zakonshme
- Do të thotë "AI dukej, është i pastër". Kjo është një ndjenjë e rreme besimi për shkak të negativeve të rreme.
- Duke mos dhënë kontekst. Pa qëllim dhe kritere pranimi, modeli prodhon vetëm interpretime stili sipërfaqësore.
- Zbatimi i verbër i pozitivëve të rremë. Rregullimi i çdo paralajmërimi të modelit mund të prishë kodin e ekzekutimit.
- Pyetja e modelit për rregullin e biznesit. Modelja nuk e njeh rregullin; Njeriut i takon ta verifikojë.
- Mos diskriminoni dhunën. Vendosja e një gjetjeje kritike të sigurisë dhe një sugjerimi emri në të njëjtin thes errëson atë që është e rëndësishme.
Në përmbledhje
Inteligjenca artificiale është një filtër i parë i palodhshëm në rishikimin e kodit: kap gabimet null/gabim, rastet e skajeve dhe erën e thjeshtë të sigurisë; por është i dobët në të metat që kërkojnë kontekst, si rregulli i biznesit, arkitektura dhe konkurenca, dhe prodhon si pozitive false ashtu edhe negative të rreme. Kërkoni gjetjet sipas kategorisë dhe ashpërsisë, filtrojeni secilën me inteligjencën njerëzore, verifikoni manualisht shtigjet kritike. Miratimi është gjithmonë nënshkrimi i një inxhinieri të përgjegjshëm.
Detyra e aplikimit
Zgjidhni një PR/ndryshim të vërtetë ose të fundit. Së pari, bëni që AI ta rishikojë atë me shabllonin "rishikim i kategorisë i orientuar drejt objektivave". Vendosni gjetjet në një tabelë dhe vendosni për secilën prej tyre: të vërteta (kam verifikuar), false pozitive (këtu është arsyetimi im) ose për t'u zbatuar. Pastaj bëni një turne vetë dhe përpiquni të gjeni të paktën një gjë (veçanërisht një rregull biznesi ose një rast të skajshëm) që i mungon AI dhe shkruajeni atë.
listë kontrolli
- [ ] Unë përdor rishikimin e AI si filtër të parë, jo një miratim.
- [ ] Unë shtoj qëllimin dhe kriteret e pranimit në kërkesën e rishikimit.
- [ ] Unë i ndaj gjetjet nga zhurma sipas kategorive dhe dëshirave të forta.
- [ ] Unë filtroj me vetëdije çdo gjetje për të konfirmuar/false pozitive/aplikuar.
- [ ] Si njeri, unë kontrolloj rregullat e biznesit dhe pajtueshmërinë arkitekturore.
- [ ] Kërkoj miratim nga një inxhinier i kualifikuar për ndryshime kritike për sigurinë.