Yazılım geliştiriciler olarak bazen eski yazdığımız kodlara bakarak bunları daha iyi yazabileceğimizi görürürüz. Bazen ise başka geliştiricilerin yazdıkları kodları inceler ve bu kodların daha iyi yazılabileceğini düşünürüz. Yazılan bu kodlar o an için en iyi çözüm gibi görünse de sonrasında daha iyi çözümler olduğunu görürüz. Böyle durumlarda eski kodu daha iyi hale getirmek için yapılan yeniden düzenleme işlemine refactoring denir.