Refaktorointi

Refaktoroinnilla (engl. refactoring) tarkoitetaan koodin muuttamista siten, että varsinainen toiminnallisuus ei muutu. Tarkoituksena on parantaa koodin ylläpidettävyyttä.

Koska ketterässä kehityksessä lähdetään siitä, että vaatimukset voivat muuttua koska tahansa, koodin on oltava erityisen ylläpidettävää. Tyypillisesti käytössä on myös jaettu koodin omistajuus, jolloin kuka tahansa voi tehdä muutoksia mihin ohjelmiston osaan tahansa. Tällöin on ensiarvoisen tärkeää, että koodi on selkeää ja ymmärrettävää.

Jotta refaktorointi olisi turvallista, kannattaa "turvaverkkona" käyttää yksikkötestejä. Kattavan testipatteriston turvin voidaan varmistua siitä, että koodin toiminnallisuus ei todella muutu.