Refactoring adalah proses mengubah kode sumber aplikasi tanpa mengubah perilaku eksternalnya. Tujuan dari refactoring kode adalah untuk meningkatkan beberapa properti nonfungsional dari kode, seperti keterbacaan, kompleksitas, pemeliharaan, dan ekstensibilitas. Refactoring dapat memperpanjang umur kode sumber, mencegahnya menjadi kode lama.