Úpravy vnitřní struktury programu bez změny jeho vnějšího chování. Cílem je lepší čitelnost, udržovatelnost, snížení složitosti a odstranění duplicit. Bezpečný průběh zajišťuje spolehlivá sada testů, která chrání proti regresím.