Refactoring adalah proses memperbaiki struktur kode tanpa mengubah perilaku atau hasil yang dijalankannya. Tujuannya membuat kode lebih bersih, ringkas, dan mudah dipahami. Refactoring dilakukan secara bertahap, misalnya memecah fungsi yang terlalu panjang atau menghapus kode berulang. Meski keluaran program tetap sama, kualitas internalnya meningkat. Pengujian yang baik penting untuk memastikan perilaku tidak berubah setelah refactoring.
Refactoring menjaga kode tetap sehat seiring waktu, mengurangi utang teknis, dan mempermudah penambahan fitur di masa depan.
Sebuah fungsi panjang yang mengerjakan banyak hal dipecah menjadi beberapa fungsi kecil yang masing-masing punya satu tugas jelas, tanpa mengubah hasil akhirnya.