refaktoring
Refaktoring to proces przebudowy istniejącego kodu lub architektury systemu w celu poprawy czytelności, struktury i utrzymania, bez zmiany zewnętrznego zachowania programu. Celem jest zmniejszenie złożoności, redukcja długu technicznego i ułatwienie wprowadzania kolejnych zmian. Refaktoring nie dodaje nowych funkcji; polega na subtelnym przearanżowaniu kodu tak, aby pozostawał zgodny z oczekiwaniami użytkownika i testów.
W praktyce proces opiera się na utrzymaniu testów regresyjnych, wprowadzaniu małych, odwracalnych zmian i uruchamianiu testów
Typowe techniki to ekstrakcja metody lub klasy, renaming (zmiana nazwy na bardziej opisową), inlining metod, przenoszenie
Refaktoring często wpisuje się w praktykę zarządzania długiem technicznym i w zespole jest częścią procesu utrzymania
Pojęcie wywodzi się z anglojęzycznej literatury o inżynierii oprogramowania; termin używany jest także w polskiej literaturze