En ny undersøkelse fra selskapet GitClear viser at AI-baserte kodeassistenter går ut over kodekvaliteten, skriver DevClass.
GitClear har analysert 211 millioner kodelinjer fra kunder av sine egne kodeanalyseverktøy, samt fra åpen kildekodeprosjekter, og sett på blant annet hvor mye kode som legges til, flyttes eller oppdateres.
Ett av funnene i årets undersøkelse er at AI gjør at utviklere stadig oftere bryter med DRY-prinsippet – "Do not Repeat Yourself":
Antall kodeblokker med fem eller flere dupliserte linjer økte nemlig med hele åtte ganger i løpet av 2024.
Mer copy/paste
Undersøkelsen ser på blant annet hvor mange kodelinjer som copy/pastes, erstattes, flyttes, oppdates, slettes eller legges til.

Ifølge undersøkelsen var 2024 det første året at copy/paste av kodelinjer overgikk antall flyttede kodelinjer:
Mens antall linjer som blir flyttet til andre steder i kodebasen har gått ganske kraftig ned, økte copy/paste av eksisterende kode.
– Kombinasjonen av disse trendene etterlater liten tvil om at dagens implementering av AI-assisstenter gjør oss mer produktive, men på bekostning av at vi gjentar oss selv (eller våre kollegaer), ofte uten å være klar over det.

I stedet for å refaktorere og følge DRY-prinsippet, blir vi stadig fristet til å duplisere kode, ifølge undersøkelsen.
Selv om duplisert kode kan fungere fint, er det ofte et tegn på dårlig kodekvalitet. Risikoen for bugs øker også, for eksempel når den samme koden oppdateres ett sted – men ikke overalt. Kode i gjenbrukbare funksjoner som kalles fra mange steder er gjerne også mer "gjennomtestet".
Hjelper utviklere
Mens det å legge til ny kode ved hjelp av AI-assistenter er ganske enkelt, er det langt mer arbeid å refaktorere koden, påpeker GitClear i undersøkelsen.
Refaktorering krever blant annet at du kjenner til hvilke mønstre som er brukt på tvers av hele kodebasen, og at utvikleren gjør en vurdering av hvilke funksjoner som ligner nok på hverandre at det er verdt å samle det i én funksjon. I tillegg må utviklere forstå koden de refaktorerer godt nok til å forstå at de ikke ødelegger noe som var avhengig av hvordan koden fungerte før den ble refaktorert.
– Den gode nyheten er at AI allerede hjelper utviklere med de mest trivielle omskrivningene, skriver GitClear.
Selskapet nevner at AI-editorer som Cursor vil foreslå å skrive om kode som ikke tilfredsstiller prosjektets linting-regler. Det betyr at prosjekter takket være disse AI-editorene vil ha en mer konsistent kodestil – i hvert fall når man ser på én og én kodelinje.
Dette er imidlertid ikke det viktigste for å lage kode som er enkel å vedlikeholde på lang sikt, mener GitClear.
