Tässä artikkelissa tutkimme ja analysoimme Refaktorointi:n vaikutuksia eri yhteyksissä ja tilanteissa. Refaktorointi on erittäin tärkeä ja kiinnostava aihe monille nykyään, sillä sen vaikutus kattaa niinkin erilaisia alueita kuin arkielämä, kulttuuri, historia, tiede, teknologia, politiikka ja paljon muuta. Refaktorointi on jättänyt syvän jäljen maailmaan syntymästään nykypäivään ja synnyttänyt keskusteluja, pohdintoja ja merkittäviä muutoksia eri alueilla. Tässä artikkelissa tutkimme tarkasti eri näkökohtia, jotka tekevät Refaktorointi:stä kiehtovan ja tärkeän aiheen, sekä sen vaikutuksia nykymaailmaan.
Tähän artikkeliin tai osioon ei ole merkitty lähteitä, joten tiedot kannattaa tarkistaa muista tietolähteistä. Voit auttaa Wikipediaa lisäämällä artikkeliin tarkistettavissa olevia lähteitä ja merkitsemällä ne ohjeen mukaan. |
Refaktorointi tarkoittaa prosessia, jossa tietokoneohjelman lähdekoodia muutetaan siten, että sen toiminnallisuus säilyy, mutta sen sisäinen rakenne muuttuu. Muutokset voivat koskea esimerkiksi luettavuutta tai ohjelmakomponenttien työnjaon selkeyttämistä. Uusia ominaisuuksia ei pyritä lisäämään tai ohjelmointivirheitä korjaamaan refaktoroinnin yhteydessä.
Yleisimmät refaktoroinnin menetelmät ovat rename ja extract method, joista rename tarkoittaa muuttujan, metodin tai luokan uudelleennimeämistä paremmin merkitystään kuvaavaksi, kun taas extract methodissa pitkä metodi pilkotaan pienempiin osiin.
Refaktoroinnin hyödyllisyyttä perustellaan sen koodin laatua parantavalla vaikutuksella. Koodista tulee myös luettavampaa, ja sitä kautta helpommin ylläpidettävää. Kustannussäästöt tulevat siis sitä kautta.
Refaktorointia tarvitaan, kun ohjelmaa pitää laajentaa sellaisiin tapauksiin, joita ei ole huomioitu alkuperäisessä suunnittelussa. Joissakin ohjelmistotuotantomenetelmissä (esimerkiksi Extreme Programming) refaktorointi on oleellisessa osassa kokonaisprosessia.
Oikeaoppiseen refaktorointiin kuuluu vain pienten muutosten tekeminen kerrallaan ja niiden välitön testaaminen. Testivetoinen kehitys edellyttää, että refaktoroitavalla koodilla on olemassa yksikkötestit joiden avulla voidaan varmistaa, että refaktorointi ei muuta sovelluksen toimintaa.