Refaktorointi
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ä.
Tyypillisiä refaktorointeja
muokkaaYleisimmä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.
Perustelut
muokkaaRefaktoroinnin 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.
Kirjallisuutta
muokkaa- Fowler, Martin (1999). Refactoring. Improving the Design of Existing Code. Addison-Wesley. ISBN 0-201-48567-2.
Aiheesta muualla
muokkaa- http://www.refactoring.com/catalog/index.html (englanniksi)