Hagnaður:
- Geta til að nota gervigreind sem annað auga í endurskoðun kóða fyrir læsileika, rökfræði og öryggi
- Geta til að skipuleggja endurnýjunarskref með AI stuðningi án þess að trufla flókna kóðahegðun
- Geta til að sannreyna endurskoðun gervigreindar og breyta tilmælum með prófun og samanburði á útgáfustýringu
Í hugbúnaðarverkfræði er kóði lesinn miklu meira en hann er skrifaður. Lína af kóða er skrifuð einu sinni, en er lesin, breytt og byggð á heilmikið af sinnum á mánuðum. Þess vegna eru endurskoðun kóða (endurskoðað kóða einhvers annars eða þinn eigin kóða fyrir rökfræði, læsileika og öryggi) og endurstilling (að bæta uppbyggingu kóðans án þess að breyta hegðun hans) kjarninn í verkfræði. Gervigreind verður öflugt „annað auga“ fyrir þessi tvö verkefni: það bendir fljótt á læsileika, bendir á yfirséð rökfræði og öryggisvandamál og brýtur stóra endurskiptingu í smærri örugg skref. En það er mikilvæg regla: Refactoring ætti ekki að breyta hegðun, og það eina sem tryggir þetta er prófun.
Í þessari einingu munum við sjá hvernig á að nota gervigreind á skipulegan hátt fyrir kóða endurskoðun, hvernig á að laga flókinn kóða án þess að brjóta hegðun hans og hvernig á að stjórna tæknilegum skuldum (fljótar en kostnaðarsamar ákvarðanir um kóða).
Hugtök: Tækniskuld: Kóða ákvarðanir sem teknar eru í dag fyrir hraða sem gera viðhald erfitt í framtíðinni. Kóðalykt: Mynstur sem eru ekki villur sjálfar en gefa til kynna vandamál (of langar aðgerðir, endurtekinn kóða). Aðhvarf: Þegar breyting brýtur eitthvað sem virkaði áður.
Notkun gervigreindar í endurskoðun á skipulagðri kóða
Þegar tíminn er takmarkaður er nauðsynlegt að einblína á áhættuatriðin. Sjálfvirka sniðið sér um sniðmál eins og inndrátt og bil; Þú verður að verja mannlegri athygli að rökfræði, öryggi og jaðartilvikshegðun. Þegar þú hefur AI endurskoðunina skaltu biðja um forgangslista, ekki látlausan bardaga af umsögnum.
- Gefðu svigrúmið. Hvaða kóða, hvað á að gera, í hvaða samhengi það virkar.
- Tilgreindu forgangsásinn. Nákvæmni og öryggi fyrst, læsileiki í öðru lagi.
- Biddu um steypuleiðréttingu. „Af hverju vandamálið“ og „ráðlögð lausn“ fyrir hverja niðurstöðu.
- Þú staðfestir niðurstöðurnar. AI framleiðir einnig falskar jákvæðar; Staðfestu hverja niðurstöðu gegn kóða og prófunum.
Skipulögð endurskoðunarkvaðning: "Skoðaðu eftirfarandi aðgerð eins og yfirverkfræðingur. Skráðu niðurstöðurnar í mikilvægisröð og merktu þær með þessum merkjum: [CRITICAL] rökfræði/öryggi, [MEDIUM] brún tilfelli/frammistöðu, [LOW] læsileiki/nafn. Fyrir hverja niðurstöðu: hvers vegna að spyrja, áþreifanleg uppástunga til að laga. EKKI SKIPPA snið/inndráttarmál, það mun sjálfvirkt tól sjá um snið/inndrátt].
Öryggismiðuð endurskoðunartilkynning: "Skoðaðu þennan kóða eingöngu í öryggisskyni: skortur á staðfestingu inntaks, hætta á innspýtingu, skortur á heimildaeftirliti, leki á trúnaðarupplýsingum, óörugg vanskil. Bættu dæmi um árásaratburðarás við hverja niðurstöðu. Ef það er ekkert öryggisvandamál, tilgreinið skýrt "Ég fann engin mikilvæg öryggisvandamál". Kóði: [kóði]"
Varúð: Bara vegna þess að gervigreindin segir „ekkert vandamál“ er ekki sönnun þess að það sé ekkert vandamál. AI getur framleitt rangar neikvæðar; getur farið framhjá raunverulegu öryggisvandamáli. AI endurskoðunaruppbót, ekki í staðinn, mannleg endurskoðun og öryggisprófanir. Í mikilvægum öryggiskóða hefur bær verkfræðingur lokaorðið.
Prófvarið endurnýjun
Gullna reglan um endurnýjun: prófa fyrst, breyta síðar. Áður en kóðinn er lagaður ættu að vera próf sem læsa núverandi hegðun svo þú veist strax hvort breytingin brýtur eitthvað. Ekki brjóta röðina þegar þú ert með gervigreind.
- Reyndu núverandi hegðun. Annars skaltu láta gervigreindina framleiða „einkennispróf“ (próf sem fangar núverandi hegðun eins og hún er).
- Lagaðu það í litlum skrefum. Prófun verður að vera græn í hverju skrefi.
- Keyrðu það eftir hvert skref. Ná snemma afturför.
Örugg endurstillingaráætlun: "Eftirfarandi 60 lína aðgerð gerir of mikið og er erfitt að lesa. Ég vil endurvirkja hana ÁN þess að breyta hegðun hennar. Í fyrsta lagi: skrá hvaða próftilvik ég þarf til að læsa núverandi hegðun. Síðan: skiptu endurstillingunni niður í lítil skref, sem hægt er að framkvæma hvert um sig á meðan prófin eru græn. Ekki gefa upp áætlunina] kóðann ennþá, kóðann."
Veik kvaðning / sterk kvaðning
WEAK: "Gerðu þennan kóða betri." (Niðurstaða: óljóst hvað á að bæta; gervigreind gerir handahófskenndar breytingar, getur breytt hegðun í hljóði.) STERK: "Endurfærðu þessa greiðsluútreikningsaðgerð til að hægt sé að lesa hana. ÞÁRMÁL: hegðun verður að vera nákvæmlega sú sama, skilagildi mega ekki breytast. Skiptu langa fallinu í þýðingarmikil gagnsemisföll, aukið töfratölurnar í nafngreinda fasta. Skráðu HÍ breytist atriði fyrir hvern hlut og útskýrir ekki hegðun"
Í kraftmiklu tilvitnuninni kemur skýrt fram „hegðunin verður að vera nákvæmlega sú sama“ og hvað þarf að bæta. Án þessarar þvingunar getur gervigreind breytt rökfræði í nafni „umbóta“ og framkallað hljóðláta afturför.
Umsjón með tækniskuldum
Nálgun
Til skamms tíma
til lengri tíma litið
að hunsa skuldir
hröðum framförum
Viðhaldslömun, lið hægir á sér
endurskrifa allt
Þróun standandi eiginleika
Óviss ávöxtun, mikil áhætta
Mæld, prófvernduð refactoring
smávægileg hægagangur
Sjálfbær hraði
Heilbrigðasta leiðin er sú þriðja: Gerðu skuldina sýnilega (fylgstu með henni í lista), byrjaðu þar sem það særir mest og prófaðu hverja leiðréttingu. Gervigreind er góð hjálp við að bera kennsl á og forgangsraða skuldahlutum, en hvaða skuld á að greiða er viðskiptaákvörðun.
Mini Cases
Tilfelli 1 - Hljóðlát afturför. Verktaki segir gervigreindinni að „einfalda þessa aðgerð“; AI þýðir ástand rangt og ávöxtunarútreikningurinn er bilaður. Þar sem engin próf eru til staðar kemur villa eftir 3 vikur með kvörtun viðskiptavinar. Liðið vinnur sama starf með því að skrifa fyrst persónusköpunarpróf og grípa villuna með rauðu prófi í fyrstu keyrslu.
Tilfelli 2 - Gagnlegt annað auga. Í kóðaskoðun gerir gervigreind sér grein fyrir því að notendaheimild er aðeins athugað í viðmótinu en ekki á þjóninum. Þetta er varnarleysi fyrir óheimilan aðgang. Verkfræðingur bætir við heimildathugun á netþjóni; AI skoðun kemur í veg fyrir raunverulegt öryggisatvik.
Mál 3 - Falskt jákvætt. AI segir "þessi breyta er aldrei notuð, eyða henni"; Hins vegar er það notað óbeint í gegnum breytilegt endurspeglunarkerfi. Ef verkfræðingur staðfesti ekki tillöguna gegn prófuninni yrði henni eytt og afturkreistingarvilla myndi eiga sér stað. Staðfesta verður hverja gervigreindaruppgötvun fyrir innleiðingu.
Algeng mistök
- Endurnýjun án prófunar. Það er ekkert eftir til að tryggja að hegðunin haldist.
- Að beita gervigreindarniðurstöðum án þess að staðfesta þær. Rangar jákvæðar og rangar neikvæðar gerast bæði.
- Að sóa mannlegum tíma í sniðvandamál. Að einbeita sér að verkefnum sem hægt er að leysa með sjálfvirkum verkfærum skyggir á raunverulega áhættu.
- Að taka svarið „Ekkert vandamál“ sem tryggingu. AI getur framhjá varnarleysi; mannlegrar endurskoðunar er krafist.
- Reyna að borga alla skuldina í einu. Helstu endurskrifanir eru áhættusamar; Skref sem eru mæld og vernduð með prófun eru æskileg.
Í stuttu máli
Endurskoðun kóðans og endurþáttun ákvarðar endingu kóðans. Gervigreind er öflugur annað auga og áætlanagjafi: veitir forgangsröðun, öryggisatburðarás og smáþrepa endurnýjunaráætlanir. En endurstilling ætti ekki að breyta hegðun og aðeins próf tryggir þetta. Sannreyndu hverja gervigreindaruppgötvun gegn kóða og prófunum; Ekki taka "ekkert vandamál" svarið sem sönnunargögn. Gerðu tækniskuldir sýnilegar og greiddu þær niður í mældum, prófvernduðum skrefum.
Umsóknarverkefni
Taktu 40-70 línu, nokkuð flókna aðgerð sem þú hefur (eða lætur búa til gervigreind). Fylgdu fyrst skipulögðu endurskoðunartilkynningunni og flokkaðu niðurstöðurnar sem [KRITICAL]/[MEDIUM]/[LOW]; Staðfestu handvirkt að minnsta kosti eina uppgötvun gegn kóðanum. Síðan, með leiðbeiningum um örugga endurstillingaráætlun, skaltu fyrst búa til og keyra einkennisprófin, beita síðan endurvinnslunni í litlum skrefum og ganga úr skugga um að prófin haldist græn í hverju skrefi.
gátlisti
- [ ] Ég skipulagði umsögnina með forgangsmerkjum (kritískt/miðlungs/lágt).
- [ ] Ég hef staðfest að minnsta kosti eina gervigreindaruppgötvun gegn kóðanum/prófinu.
- [ ] Ég prófaði núverandi hegðun áður en ég breytti.
- [ ] Ég gerði breytingarnar í litlum skrefum og tók próf í hverju skrefi.
- [ ] Ég tilgreindi "Hegðun verður að vera sú sama" þvingunina í hvetjunni.
- [ ] Ég hef staðfest að öryggisniðurstöður krefjast staðfestingar manna.