"Le refactoring est le processus de modification d'un système logiciel de telle sorte qu'il ne modifie pas le comportement externe du code, mais améliore sa structure interne. C'est une façon disciplinée de nettoyer le code qui minimise les chances d'introduire des bogues. En substance, lorsque vous refactorez, vous améliorez la conception du code après qu'il ait été écrit." - Martin Fowler (Père de l'odeur du code).
Bien que le refactoring n'ajoute pas de caractéristiques ou de fonctionnalités dans un système logiciel, il constitue une arme tranchante pour les développeurs dans leurs activités de maintenance. Il rend un système logiciel plus facile à comprendre et moins cher à modifier sans changer son comportement observable en modifiant sa structure interne.
Les objectifs du refactoring selon M. Fowler are stated in the following:
- Refactoring Improves the Design of Software
- Refactoring Makes Software Easier to Understand and Maintain
- Refactoring Helps Finding Bugs
- Refactoring Helps Programming Faster
- Increased re-usability
You will find an example of refactoring in this link:
What is meant by code refactoring? Explain with example.