Denne uken skrev vi om hvordan forskere har funnet ut at kvaliteten på kode ser ut til å bli stadig dårligere, i takt med at utviklere tar i bruk AI-baserte kodeassistenter som Copilot.
Forskerne har blant annet sett på hvor mange kodelinjer som fjernes eller oppdateres kort tid etter at de er skrevet. Dette tolker de som at koden ikke var bra nok, og derfor måtte skrives om eller byttes ut.
Kodekvaliteten synker, AI får skylda
Nå er ikke jeg noen ekspert, men det er én ting som slår meg: Er egentlig det at kode blir hyppigere oppdatert eller slettet et bevis på at kodekvaliteten har gått ned?
Kan det ikke like gjerne være at AI har gjort at selve utviklingsjobben går raskere, at utviklerne rett og slett får tid til å produsere mer kode? Eller som en leser skriver i kommentarfeltet: At tiden, og dermed kostnaden, det tar for iterasjoner kan ha gått ned siden AI-ens inntog?
Eller sagt på en annen måte:
- Uten AI-hjelp ville man kanskje brukt mer tid på å finpusse på eksisterende kode fordi man ikke har tid til annet.
- Med AI så rekker man kanskje oftere å lage ny funksjonalitet og får tid til å eksperimentere mer.
Mer kode blir produsert og mer kode blir byttet ut med ny kode – rett og slett fordi man har fått mer tid til overs. Tid man ikke hadde før AI-assistentene kom.
Ber norske utviklere ta ansvar for AI
Men selvfølgelig er det jo et problem hvis man ikke samtidig faktisk bruker tid på å refaktorere og finpusse på eksisterende kode.
Forhåpentligvis skal ikke all koden byttes ut med ny. Ny kode inneholder garantert flere bugs enn kode som har vært i drift en stund og som har vært flikket på og forbedret mange ganger. Kontinuerlig refaktorering og forbedring er vel noe de fleste lærebøker innen programmering fremhever som viktig ("etterlat deg alltid koden i bedre stand enn du fant den").
Jeg vil tro det ofte er bedre å bygge videre på den koden man allerede har, enn å bytte den ut med noe helt nytt AI-en tilfeldigvis foreslo i dag.
Så er det egentlig AI sin feil om kodekvaliteten går ned? Nei, mener jeg:
Strengt tatt er det vel utviklerens ansvar å sørge for at det endelige produktet man leverer fra seg holder god nok kvalitet. Altså ikke ukritisk ta i bruk ethvert forslag som kommer fra kodeassistenten, men bruk forslagene som forslag – og sett av nok tid til å kvalitetssikre (og kanskje skrive tester).
Ukas beste saker på kode24:
🍬 Stadig flere utviklere permitteres – dette gjør du om det rammer deg
- Utviklere er ofte godt betalt, noe som betyr at mange går betydelig ned i inntekt hvis de har rett til dagpenger, sier Linn Julie Sandstrand i NAV.
👜 Dette bør stå i kontrakten din: - Få inn kompensasjon!
NITO ser tendens til at kontrakter signeres tidligere, og mener du kan ha krav på erstatning om du mister jobben før den starter.
📗 Alle vil bygge plattformer: – Sky er ikke nok
Kubernetes- og cloud native-konferansen KCD ble utsolgt i rekordfart. Nav-utvikler Hans Kristian Flaatten tror han vet hvorfor.
🐎 Vi testa Arc Search, søk på en helt ny måte med AI: «Imponerende!»
Arc Search bruker AI til å surfe på nettet for deg og sette sammen en skreddersydde nettside med oppsummering av rykende fersk informasjon.
🧁 Frykter teste-mareritt og nettleser-kaos med nye iOS
At alternative nettlesermotorer blir tillatt bare i EU kan skape trøbbel, frykter webutviklere.
🐣 Adobe XD skal dø – og dermed får Figma «monopol» selv uten oppkjøp
– Vi investerer ikke i pågående utvikling eller leverer nye funksjoner i produktet, sier Adobe.
🍹 – Det er ikke robotene som tar jobbene fra folk. Det er oss
- Jeg vil ikke ha den neste industrielle revolusjonen, skriver Marta Paciorkowska, som tror vi kan lære av de gamle luddittene.
📚 Kodekvaliteten synker, AI-assistenter får skylda
Forskere forventer at "code churn" dobler seg i år kontra før AI-ens inntog.
🥻 Apple åpner for app-butikker, nettleser-motorer, NFC
Men Epic-sjefen er langt fra fornøyd, og Apple selv virker ganske motvillig.
🍪 Victoria mista sommerjobben, og mener løsningen er enkel
- Vi trenger en mer ansvarlig og realistisk tilnærming til jobbtilbud, skriver Victoria Langø.
God helg
Etter hvert som forslagene fra AI-baserte kodeassistenter blir stadig bedre, skjønner jeg at det er lett å bli litt "bedagelig" – og bare godta forslagene som kommer uten å lese nøye nok gjennom koden. Koden var jo helt super de forrige 99 gangene, så da er den sikkert i orden denne gangen også?
Jeg ser for meg at når produktiviteten til mange utviklere går opp på grunn av AI-kodeassistenter, så skapes det også et slags forventningspress – at man føler at man burde vært mer produktiv. Men for å sitere Michael Odden i kommentarfeltet:
– Problemet vårt er ikke at vi ikke genererer nok kode, men at vi ikke er omhyggelige nok med den faktiske koden vi skaper.
Jeg tror han er inne på noe.
God helg!
Kurt 🤓