Restructuring existing code without changing its external behavior to improve readability and maintainability.