Jednostavno rečeno, refaktorisanje predstavlja prerađivanje izvornog koda bez promene njegove funkcionalnosti. Dakle, nakon refaktorisanja programerski kod treba da radi isto što je radio i pre njega.
Zašto bi onda uopšte i refaktorisali?
Razlozi su višestruki.
Na primer, želimo da se kod izvršava brže, ili da ga skratimo, da postane čitljiviji ili da se lakše održava i proširuje.
Kada radimo refaktorisanje?
Najbolje je da ga radimo stalno. To se više isplati. Što više odlažemo sređivanje izvornog koda, on će postajati zamršeniji. U jednom trenutku postaće nemoguće da bilo šta menjamo, šta god da čačnemo, sve će prestati da radi. Dakle, što ćešće refaktorišemo to bolje.
Ipak refaktorisanje sa sobom nosi rizike. Kako da budemo sigurni da nešto nismo pokvarili? Potrebno je da imamokoda. Krajnji rezultat mora da bude kod koji je čitljiviji, jasniji, lako može da se proširuje, postojeće funkcije mogu da se koriste više puta. Sve radi brže, bagovi se lakše pronalaze i lakše debaguju.