Refaktorointi
Wikipedia
Refaktorointi tarkoittaa prosessia, jossa tietokoneohjelman lähdekoodia muutetaan siten, että sen toiminnallisuus säilyy, mutta sen sisäinen rakenne paranee. Parannukset voivat koskea esimerkiksi luettavuutta tai ohjelmakomponenttien työnjaon selkeyttämistä. Uusia ominaisuuksia ei pyritä lisäämään tai ohjelmointivirheitä korjaamaan refaktoroinnin yhteydessä.
Sisällysluettelo |
[muokkaa] Tyypillisiä refaktorointeja
Yleisimmät refaktoroinnit ovat rename ja extract method. rename tarkoittaa muuttujan, metodin tai luokan uudelleennimeämistä paremmin merkitystään kuvaavaksi. extract methodissa puolestaan pitkä metodi pilkotaan pienempiin osiin.
[muokkaa] Motivaatio
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ä (esim. 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.
[muokkaa] Kirjallisuutta
- Fowler, Martin (1999). Refactoring. Improving the Design of Existing Code. Addison-Wesley. ISBN 0201485672.
[muokkaa] Lisää tietoa
- http://www.refactoring.com/catalog/index.html (englanniksi)