Refaktorointi ohjelmistokehityksessä : tekoäly vs. IDEn työkalut
Lehtonen, Kalle (2025)
Lehtonen, Kalle
2025
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025052114115
https://urn.fi/URN:NBN:fi:amk-2025052114115
Tiivistelmä
Refaktorointi on kurinalainen prosessi, jossa koodin sisäistä rakennetta parannetaan muuttamatta sen ulkoista käyttäytymistä, tavoitteena tehdä koodista selkeämpää ja helpommin ylläpidettävää. Opinnäytetyön tavoitteena oli selvittää refaktoroinnin hyötyjä ja mahdollisia ongelmia, esitellä erilaisia refaktorointimenetelmiä sekä tarkastella automaatiotestaamisen merkitystä refaktoroinnin onnistumisen mahdollistajana. Lisäksi haluttiin vertailla tekoälyn ja IDEn työkalujen toimivuutta refaktoroinnin tukena. Opinnäytetyön tutkimusmenetelmät olivat kirjallisuuskatsaus sekä kokeellinen tutkimus.
Kirjallisuuskatsauksessa hyödynnettiin useita verkkolähteitä, sekä erityisesti Martin Fowlerin teosta ”Refactoring: Improving the Design of Existing Code”, joka kertoo erittäin kattavasti refaktoroinnista.
Kokeellisessa tutkimuksessa suoritettiin käytännön vertailu tekoälypohjaisten työkalujen ja IDEn työkalujen välillä refaktoroinnissa. Vertailuun valittiin yleisimmistä refaktorointimenetelmistä muuttujan uudelleen nimeäminen, parametrilistan muuntaminen objektiksi, koodin osan eriyttäminen funktioksi, ja kuolleen koodin poisto. Vertailun lopputuloksena voitiin todeta, että molemmille työkaluille on paikkansa refaktoroinnin tukena. Tekoälypohjaiset työkalut kehittyvät kuitenkin kovaa vauhtia ja tulevaisuudessa ne ovat todennäköisesti nykyistä huomattavasti tehokkaampia refaktoroinnin suorittamisessa.
Kirjallisuuskatsauksessa hyödynnettiin useita verkkolähteitä, sekä erityisesti Martin Fowlerin teosta ”Refactoring: Improving the Design of Existing Code”, joka kertoo erittäin kattavasti refaktoroinnista.
Kokeellisessa tutkimuksessa suoritettiin käytännön vertailu tekoälypohjaisten työkalujen ja IDEn työkalujen välillä refaktoroinnissa. Vertailuun valittiin yleisimmistä refaktorointimenetelmistä muuttujan uudelleen nimeäminen, parametrilistan muuntaminen objektiksi, koodin osan eriyttäminen funktioksi, ja kuolleen koodin poisto. Vertailun lopputuloksena voitiin todeta, että molemmille työkaluille on paikkansa refaktoroinnin tukena. Tekoälypohjaiset työkalut kehittyvät kuitenkin kovaa vauhtia ja tulevaisuudessa ne ovat todennäköisesti nykyistä huomattavasti tehokkaampia refaktoroinnin suorittamisessa.
