V zadnjih dveh letih smo z mojo ekipo pri Work & Co preizkušali in postopoma integrirali orodja za kodiranje AI, kot so Copilot, Cursor, Claude in ChatGPT, da bi nam pomagali pošiljati spletne izkušnje, ki jih uporabljajo množice. Priznam, po nekaj začetnega skepticizma in nekaj aha trenutkih so različna orodja AI našla pot v mojo vsakodnevno uporabo. Sčasoma se je seznam aplikacij, pri katerih se nam je zdelo smiselno prepustiti umetni inteligenci, začel rasti, zato sem se odločil deliti nekaj praktičnih primerov uporabe orodij umetne inteligence za tiste, ki jih imenujem "odgovorni razvijalec". Kaj mislim z odgovornim razvijalcem? Zagotoviti moramo, da zagotavljamo kakovostno kodo, kot pričakujejo naši deležniki in stranke. Naši prispevki (t.i. zahteve po vleku) ne smejo postati breme za naše sodelavce, ki bodo morali pregledovati in testirati naše delo. Tudi v primeru, da delate za podjetje: orodja, ki jih uporabljamo, mora odobriti naš delodajalec. Občutljive vidike, kot sta varnost in zasebnost, je treba ustrezno obravnavati: ne lepite skrivnosti, podatkov o strankah (PII) ali lastniške kode v orodja brez odobritve pravilnika. Obravnavajte ga kot kodo tujca na internetu. Vedno preizkusite in preverite. Opomba: Ta članek predvideva nekaj zelo osnovnega poznavanja orodij za kodiranje AI, kot je Copilot znotraj VSCode ali Cursor. Če se vam vse to zdi popolnoma novo in neznano, so lahko video vadnice Github Copilot fantastično izhodišče za vas.

Koristne aplikacije orodij za kodiranje AI Opomba: Naslednji primeri se osredotočajo predvsem na delo v spletnih aplikacijah, ki temeljijo na JavaScriptu, kot so React, Vue, Svelte ali Angular. Razumevanje neznane kodne baze Delo na uveljavljenih kodnih bazah ni neobičajno in pridružitev veliki podedovani kodni bazi je lahko zastrašujoča. Preprosto odprite svoj projekt in agenta za umetno inteligenco (v mojem primeru Copilot Chat v VSCode) in začnite postavljati vprašanja, tako kot bi vprašali kolega. Na splošno se rad pogovarjam s katerim koli agentom AI tako kot s sočlovekom. Tukaj je bolj izpopolnjen primer poziva: "Daj mi pregled arhitekture na visoki ravni: vstopne točke, usmerjanje, avtorizacija, podatkovna plast, orodja za gradnjo. Nato naštej 5 datotek za branje po vrstnem redu. Obravnavaj razlage kot hipoteze in potrdi s skokom na referenčne datoteke."

Še naprej lahko postavljate dodatna vprašanja, kot je "Kako usmerjanje deluje v podrobnostih?" ali »Pogovorite se s postopkom in metodami preverjanja pristnosti« in vodilo vas bo do koristnih navodil, da osvetlite temo neznane kodne baze. Triaging pokvarjenih sprememb pri nadgradnji odvisnosti Posodabljanje paketov npm, še posebej, če so opremljeni z nedelujočimi spremembami, je lahko dolgočasno in dolgotrajno delo, zaradi katerega boste odpravljali precejšnje število regresij. Pred kratkim sem moral nadgraditi knjižnico za vizualizacijo podatkov plotly.js na eno večjo različico izdaje z različice 2 na različico 3 in zaradi tega je označevanje osi v nekaterih grafih prenehalo delovati. Nato sem vprašal ChatGPT: "Posodobil sem svoj projekt Angular, ki uporablja Plotly. Posodobil sem paket plotly.js — dist z različice 2.35.2 na 3.1.0 — in zdaj oznak na osi x in y ni več. Kaj se je zgodilo?"

Agent se je nemudoma vrnil z rešitvijo (sami si oglejte spodaj). Opomba: Preden sem poslal popravek, sem vseeno preveril razlago glede uradnega vodnika za selitev.

Varno kopiranje refaktorjev med datotekami Rastoče kodne baze zagotovo odkrivajo priložnosti za konsolidacijo kode. Opazite na primer podvajanje kode v datotekah, ki jih je mogoče ekstrahirati v eno samo funkcijo ali komponento. Posledično se odločite ustvariti komponento v skupni rabi, ki jo je mogoče vključiti namesto tega, in izvesti ta refaktor v eni datoteki. Zdaj namesto ročnega izvajanja teh sprememb v vaših preostalih datotekah prosite svojega agenta, da za vas uvede refaktor. Agenti vam omogočajo, da kot kontekst izberete več datotek. Ko je refaktor za eno datoteko končan, lahko v kontekst dodam refaktorirane in nedotaknjene datoteke ter agenta pozovem, naj uvede spremembe v druge datoteke, kot je tale: »Ponovi spremembe, ki sem jih naredil v datoteki A, tudi v datoteko B«. Implementacija funkcij v neznanih tehnologijah Eden mojih najljubših aha-trenutkov z uporabo orodij za kodiranje AI je bil, ko mi je pomagal ustvariti precej zapleteno animirano gradientno animacijo v GLSL, jeziku, ki ga do zdaj nisem dobro poznal. Pri nedavnem projektu so naši oblikovalci pripravili animirani gradient kot stanje nalaganja na 3D-predmetu. Koncept mi ​​je bil zelo všeč in našim strankam sem želel ponuditi nekaj edinstvenega in vznemirljivega. Thetežava: Imel sem samo dva dni, da ga implementiram, GLSL pa ima precej strmo krivuljo učenja. Spet mi je prišlo prav orodje AI (v tem primeru ChatGPT) in začel sem ga preprosto pozivati, naj zame ustvari samostojno datoteko HTML, ki upodablja platno in zelo preprost animirani barvni preliv. Korak za korakom sem umetno inteligenco pozval, naj ji doda še več finosti, dokler nisem dosegel spodobnega rezultata, da sem lahko začel integrirati senčnik v svojo dejansko kodno zbirko. Končni rezultat: naše stranke so bile zelo zadovoljne in zahvaljujoč umetni inteligenci smo v kratkem času zagotovili kompleksno funkcijo. Pisanje testov Po mojih izkušnjah je pri projektih le redko dovolj časa za nenehno pisanje in vzdrževanje ustreznega nabora enot in integracijskih testov, poleg tega pa mnogi razvijalci ne uživajo v pisanju testov. Svojega pomočnika z umetno inteligenco pozovete, da namesto vas nastavi in ​​napiše teste, je povsem mogoče in se lahko izvede v kratkem času. Seveda bi morali vi kot razvijalec še vedno poskrbeti, da vaši testi dejansko obravnavajo kritične dele vaše aplikacije in sledijo razumnim načelom testiranja, vendar lahko pisanje testov »oddate« našemu pomočniku AI. Primer poziva: "Napišite teste enote za to funkcijo z uporabo Jesta. Pokrijte srečno pot, robne primere in načine napak. Pojasnite, zakaj vsak test obstaja."

Najboljše prakse testiranja guruja testiranja Kenta C. Doddsa lahko celo posredujete kot smernice svojemu agentu, kot spodaj:

Notranje orodje Nekako podobno prej omenjenemu primeru senčila, nedavno so mi zadolžili, da analiziram podvajanje kode v kodni bazi in primerjam pred in po refaktorju. Zagotovo ni nepomembna naloga, če ne želite iti na zamudno pot ročnega primerjanja datotek. S pomočjo Copilota sem ustvaril skripto, ki je namesto mene analizirala podvajanje kode, izpis uredila in razvrstila v tabelo ter ga izvozila v Excel. Potem sem naredil še korak naprej. Ko je bil naš refaktor kode končan, sem agenta pozval, naj vzame moj obstoječi Excelov list kot osnovo, doda trenutno stanje podvajanja v ločenih stolpcih in izračuna delto. Posodabljanje kode, napisane že zdavnaj Pred kratkim me je prizadel moj stari odjemalec, saj sčasoma nekaj funkcij na njegovem spletnem mestu ni več delovalo pravilno. Ulov: spletno mesto je bilo zgrajeno pred skoraj desetimi leti, JavaScript in SCSS pa sta uporabljala precej stara orodja za prevajanje, kot je requireJS, nastavitev pa je zahtevala starejšo različico Node.js, ki sploh ne bi delovala na mojem MacBooku 2025. Ročno posodabljanje celotnega postopka izdelave bi mi vzelo nekaj dni, zato sem se odločil, da agenta AI vprašam: "Ali lahko posodobite postopek izdelave JS in SCSS na vitek sklad 2025, kot je Vite?" Zagotovo se je, in po približno eni uri izpopolnjevanja z agentom sem mojo gradnjo SCSS in JS preklopil na Vite in sem se lahko osredotočil na dejansko odpravljanje napak. Prepričajte se, da pravilno potrdite izhod in prevedene datoteke, ko izvajate takšne integralne spremembe v procesu gradnje. Povzemanje in priprava Ali želite povzeti vse svoje nedavne spremembe kode v enem stavku za sporočilo o objavi ali imate dolg seznam odobritev in bi jih radi strnili v tri točke? Ni problema, naj za to poskrbi umetna inteligenca, vendar ga obvezno lektorirajte. Primer poziva je tako preprost kot sporočilo sočloveku: "Prosim, povzamem moje nedavne spremembe v jedrnatih točkah". Moj nasvet bi bil, da GPT za pisanje uporabljate previdno in tako kot pri kodi preverite izpis pred pošiljanjem ali oddajo. Priporočila in najboljše prakse Nagovarjanje Ena od ne tako očitnih prednosti uporabe umetne inteligence je, da bolj ko so vaši pozivi specifični in prilagojeni, boljši je rezultat. Postopek pozivanja agenta umetne inteligence nas sili, da čim bolj natančno oblikujemo svoje zahteve, preden pišemo in kodiramo. Zato kot splošno pravilo toplo priporočam, da ste s svojimi pozivi čim bolj natančni. Ryan Florence, soavtor Remixa, predlaga preprost, a zmogljiv način za izboljšanje tega postopka tako, da svoj začetni poziv zaključite s stavkom: "Preden začnemo, imate kakšno vprašanje zame?"

Na tej točki se umetna inteligenca običajno vrne s koristnimi vprašanji, kjer lahko razjasnite svoje posebne namene in vodite agenta, da vam zagotovi bolj prilagojen pristop za vašo nalogo.

Uporabite nadzor različic in delajte v prebavljivih kosih Uporaba nadzora različic, kot je git, ni uporabna le, ko sodelujete kot ekipa na eni sami kodni bazi, ampak tudi kotposamezni prispevek s stabilnimi točkami, na katere se lahko v nujnih primerih vrne nazaj. Zaradi svoje nedeterministične narave lahko umetna inteligenca včasih postane lopov in naredi spremembe, ki preprosto niso koristne za to, kar poskušate doseči, in na koncu stvari nepopravljivo pokvari. Razdelitev vašega dela na več potrditev vam bo pomagala ustvariti stabilne točke, na katere se lahko vrnete, če gredo stvari vstran. Hvaležni vam bodo tudi vaši soigralci, saj bodo lažje pregledali vašo kodo, ko bo ta razdeljena na semantično dobro strukturirane dele. Preglejte temeljito To je bolj splošna najboljša praksa, vendar po mojem mnenju postane še bolj pomembno pri uporabi orodij umetne inteligence za razvojno delo: bodite prvi kritični ocenjevalec svoje kode. Ne pozabite si vzeti nekaj časa, da pregledate svoje spremembe po vrsticah, tako kot bi pregledali kodo nekoga drugega, in oddajte svoje delo šele, ko prestane vaš lastni samopregled. "Dve stvari mi trenutno držita: agenti umetne inteligence so neverjetni in močno povečajo produktivnost. Prav tako so ogromni stroji za pomivanje, če izklopite svoje možgane in jih popolnoma prepustite. "- Armin Ronacher v svoji objavi na spletnem dnevniku Agent Psychosis: Are We Going Insane?

Zaključek in kritične misli Po mojem mnenju lahko orodja za kodiranje z umetno inteligenco izboljšajo našo vsakodnevno produktivnost razvijalcev in sprostijo miselne zmogljivosti za več načrtovanja in razmišljanja na visoki ravni. Prisilijo nas, da z natančnimi podrobnostmi ubesedimo želeni rezultat. Vsak AI lahko včasih halucinira, kar v bistvu pomeni, da laže v samozavestnem tonu. Zato vas prosimo, da preverite in preizkusite, še posebej, če ste v dvomih. Umetna inteligenca ni srebrna palica in verjamem, da odličnost in sposobnost reševanja problemov kot razvijalec nikoli ne bosta šli iz mode. Za razvijalce, ki šele začenjajo svojo kariero, so ta orodja lahko zelo mamljiva, da opravijo večino dela namesto njih. Kar se tukaj lahko izgubi, je pogosto izčrpavajoče in boleče delo s hrošči in težavami, ki jih je težko odpraviti in rešiti, imenovano "mletje". Tudi Lee Robinson iz Cursor AI se sprašuje o tem v eni od svojih objav:

Orodja za kodiranje AI se hitro razvijajo in veseli me, kaj bo sledilo. Upam, da so vam bili ta članek in njegovi nasveti v pomoč in ste navdušeni, da boste nekatere od teh preizkusili tudi sami.

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free