Io-13-wyk-Slajd32
Refaktoryzacja
Szczególnym przypadkiem inżynierii ponownej jest refaktoryzacja. Dotyczy ona tylko zmian zachodzących w kodzie programu, a więc na najniższym poziomie restrukturyzacji.
Pojęcie wywodzi się od faktoryzacji, czyli przydziału odpowiedzialności do obiektów. Refaktoryzacja jest zatem ponownym podziałem systemu na obiekty. Wynika z tego, że dotyczy głównie paradygmatu obiektowego, choć pojęcia tego używa się także w stosunku do języków strukturalnych (np. C).
Spośród własności refaktoryzacji warto wspomnieć o dwóch najważniejszych: jej celem jest poprawa jakości wewnętrznej struktury kodu, a jednocześnie nie może ona zmieniać zachowania programu (tzn. program po przekształceniu zachowuje się identycznie jak przed zmianą). Zapewnienie tej ostatniej własności jest najtrudniejszym krokiem refaktoryzacji.