Refactoring
Restructuration ciblée du code existant sans en modifier le comportement externe.
Le refactoring désigne la restructuration du code existant sans que son comportement externe ne change. Une fonction est par exemple découpée en unités plus petites, des noms sont précisés ou du code dupliqué est regroupé – la sortie pour des entrées données reste identique.
Le terme est devenu célèbre grâce au livre du même nom de Martin Fowler. Comme le comportement ne doit pas changer, un refactoring judicieux suppose d’être sécurisé par des tests existants : c’est la seule façon de vérifier que la restructuration n’a réellement rien changé au résultat. Il convient ainsi de bien distinguer le refactoring d’une réécriture avec un nouveau comportement.
À quoi Provimedia l'utilise
Provimedia planifie le refactoring comme une étape de travail à part entière, sécurisée par la suite de tests existante, au lieu de le laisser se faire en passant.
Utiliser Refactoring pour votre projet ?
Découvrons lors d'un entretien gratuit comment nous pouvons le mettre en œuvre pour vous.
Plus dans Qualité logicielle
Clean Code
Principe directeur pour un code conçu pour être compris par des humains et pas seulement par le compilateur.
En savoir plusRevue de code
Examen systématique du code par d’autres développeurs avant sa fusion dans la branche principale.
En savoir plusCode Smell
Motif remarquable dans le code qui n’est pas forcément faux, mais qui révèle un problème plus profond.
En savoir plusDefinition of Done
Liste écrite de critères convenue en équipe, qu’une tâche doit remplir pour être considérée comme terminée.
En savoir plusLinting
Vérification automatisée du code pour détecter des erreurs de style et de mise en forme selon des règles fixes.
En savoir plusTest de mutation
Procédé qui introduit volontairement de petites erreurs dans le code afin de vérifier la pertinence des tests.
En savoir plusQuality Gate
Étape de contrôle du pipeline de développement qui ne laisse passer une modification que si des critères fixes sont remplis.
En savoir plusTest de régression
Nouveau test des fonctions existantes après une modification afin de détecter les erreurs nouvellement apparues.
En savoir plus