Hopp til hovedinnhold

Lær hvordan du kan bruke ny Skynet-teknologi til å jobbe raskere, bedre og ha det morsommere på jobb!

Før du begynner å lese, så vil jeg gjerne presisere at jeg ikke er fanboy av overhypet teknologi, sånn vanligvis. Jeg er ikke blockchain-bro, jeg hatet på både TypeScript og Tailwind i mange år selv om jeg burde elsket det (jeg gjør det nå altså), og jeg synes det er spesielt megateit at alle skal ha AI inn overalt i produktene sine.

Likevel har jeg noen grunner til hvorfor du burde utforske akkurat dette hypetoget.

AI-bølgen er over oss, og alle fra Gartner til gartnere forteller oss at det er AI som er fremtiden. Eller KI, avhengig av hvor international du ønsker å være. Men under all hypen, og alle de tåpelige måtene AI brukes på, så er det et reellt verdiforslag. Det er det jeg skal dykke inn i nå. Verdien for oss utviklere.

Etter å aktivt ha oppsøkt, undersøkt og utforsket forskjellige måter å bruke AI på i litt over et år nå, har jeg forstått hvor enorm game changer dette er for jobben vi gjør som utviklere. AI forbedrer hvordan vi tilegner oss kunnskap, hvordan vi tilnærmer oss oppgaver, og hvordan vi kan utforske mulighetsrommet for løsningene.

Denne artikkelen vil gi deg noen forslag til hvordan du kan bruke AI i utviklingsflyten din, for å gjøre deg både raskere, smartere og lykkeligere. Høres det ut som noe du vil investere 10 minutter i?

La meg introdusere deg til Cursor

For å bli en god AI-utvikler, så trenger du en god AI-editor. Jepp. En "AI-editor" høres kjempeteit ut konseptuelt, men det må du bare bite i deg og laste ned.

Cursor er en VSCode-fork som har lagt til litt AI features her og der. Du kan importere alle plugins og innstillinger fra VSCode, så om det er hverdagseditoren din, er det en ganske smertefri overgang.

Om du har brukt ChatGPT til å parprogrammere med, så har du sikkert irritert deg litt over at den ikke "skjønner" kodebasen din. Det gjør Cursor. En av superkreftene dens er at den har oversikt over hele kodebasen din, samtidig som du kan både spørre og be den utføre ting. Cursor skjønner deg.

Cursor lar deg også velge hvilken språkmodell du vil bruke. Om du har en API-nøkkel, kan du bruke OpenAI sine nyeste modeller. Om du vil (eller må, fordi sikkerhet), kan du tilogmed bruke en LLM på din egen maskin!

Så det er ganske mange morsomme forskjeller. Men for oss ikke-powerusers, så er det én egentlig forskjell:

Du kan trykke cmd+L for å chatte med kodebasen din.

Jeg vet – det høres jo litt rart ut. Men det gir deg muligheten til å både lære og gjøre ganske mye kule greier.

Hvis du vil spørre

Hvis du er i lære- eller utforskningsmodus, så kan du jo spørre ting som dette:

  • Kan du finne noen sikkerhetshull?
  • Hvilken del av appen min kan jeg forbedre med tanke på universell utforming?
  • Hvilke endringer må jeg gjøre for å oppgradere til neste major av denne avhengigheten?
  • Er det noen deler av kodebasen som er gjentakende, som man kunne refaktorert ut til felles kode?
  • Kan du forklare meg flyten i disse filene?
  • Er det noen avhengigheter jeg enkelt kunne kvittet meg med?

Min favoritt er å spørre den om den kan finne noen bugs. Det gjør den nemlig alltid. Jeg er litt usikker på om det er fordi det er min kode den feilsøker, eller om den bare er så god. Jeg antar det siste.

Det fine med å bruke AI til å gjøre denne typen research for deg, er at det går fort. Det er ikke perfekt, men det er mer enn ofte godt nok til at du får nok innsikt til å vurdere om du burde endre noe i koden din eller ei.

Hvis du vil gjøre

Og om du skal få ting gjort, og er i gjøre-modus, så kan du være litt mer assertive i hva du skriver inn:

  • Generér uttømmende tester for denne klassen/komponenten. Følg standarden fra resten av kodebasen.
  • Refaktorer denne skjermen til å bruke @shadcn/ui istedenfor Chakra UI
  • Skriv en skikkelig god JSDoc kommentar for denne komponenten og propsa dens
  • Hent ut alle tekster fra denne komponenten og legg dem i en egen fil.
  • Legg til alle anbefalte sikkerhets-headers på riktig sted i kodebasen

Fordelen her er at du slipper å skrive så mye selv. Du får generert et kodeforslag, kan undersøke hva som anbefales, og korrigere der du ikke er helt enig, eller hvor du ser åpenbare bugs.

Det som er skikkelig gøy er hvor mye "gjøre-jobb" du slipper å, vel, gjøre! Du trenger ikke "scaffolde" ut 20 tester for alle de klønete edge-casene du vanligvis bare hadde droppet å teste. Istedenfor kan du be AIen gjøre "drittjobben", og så fjerne de testene du anser som redundante, og sjekke at de fungerer som forventet.

En gif som viser hva som skjer når man skriver inn "what other meta tags should I add to the meta function?"
Et eksempel på hvordan man kan chatte med kodebasen sin og få nyttige innspill

En annen ting Cursor er veldig god på, er å se hele filen din under ett. Godtar du ett forslag et sted i en fil, foreslår den en annen relatert endring lenger ned (eller lenger opp).

Du er fortsatt nyttig!

Det er mange som har profetert at generativ AI betyr slutten for oss utviklere. Men jeg vil argumentere for at det er nettopp i "AI-alderen" at konteksten og kunnskapene våre virkelig får kjøtt på beina.

For AI-generert kode er ikke alltid riktig. Av og til er den riv ruskende gal. Og siden vi vet at AI ofte har en litt stygg bias, så er det viktig at man følger litt ekstra med.

En annen ting er når du bruker AI til å generere kode i et kodespråk du ikke er så komfortabel med. Her om dagen så brukte jeg AI til å hjelpe meg å implementere (og teste) en ny feature i en Java-kodebase. Det hadde jeg aldri vært komfortabel med å gjøre om jeg ikke kunne grunnleggende Java, men jeg var veldig komfortabel med det, siden jeg kunne undersøke koden og evaluere det i ettertid.

Så lenge du er en god utvikler, så er AI-verktøy en fantastisk produktivitetsbooster. Om du ikke kan utvikle i det hele tatt, så jobber du litt i blinde. Og det er ikke greit.

Gi det et forsøk da vel!

Om du bruker AI på riktig måte, så gjør det deg til en helt ekte superhelt. Du slipper å tenke så mye på syntaks, og kan gjøre mesteparten av kodingen din med naturlig språk. Du kan få ferdige forslag og tilpasse dem konteksten din. Du kan forstå kodebaser raskere, du kan shippe kode i teknologier du er bare sånn passe komfortabel med, og du kan ha det skikkelig gøy på jobb igjen.

Så: Om du ikke har testet ut å være en AI-utvikler enda, så anbefaler jeg det på det sterkeste. Det er gøy, det er lærerikt, og du ser ut som en boss. Jeg håper du tar sjansen!

Last ned Cursor her.

Liker du innlegget?

Del gjerne med kollegaer og venner