Refactoring : Qu'est-ce que c'est, et quand est-il opportun de l'effectuer ?

Topic : Programmation   | Publié 3 years ago

Le refactoring est le processus de modification du code source d'une application sans changer son comportement externe. Le refactoring de code a pour but d'améliorer certaines des propriétés non fonctionnelles du code, telles que la lisibilité, la complexité, la maintenabilité et l'extensibilité.

Le refactoring peut prolonger la durée de vie du code source, l'empêchant de devenir un code hérité. Le processus de refactoring rend les améliorations futures de ce code une expérience plus agréable.

Le refactoring est également connu sous le nom de réingénierie.

Quel est l’objectif du refactoring (ou réusinage de code) ?

Le refactoring est une technique qui a pour but d’améliorer la conception d'une base de code existante, c'est-à- dire  purement et simplement de produire un meilleur code. Un code efficace permet de mieux intégrer de nouveaux éléments, sans générer de nouvelles erreurs. 

Pourquoi faire le refactoring et dans quels cas refactore-t-on le code ?

De multiples raisons peuvent amener au refactoring de code :

  • Si le code est incompréhensible,
  • Si le code n’est pas propre,
  • Quand il faut préparer l’arrivée d’une nouvelle fonctionnalité,
  • Pour faciliter et anticiper la maintenance.

 

Vous l’aurez compris, on refactore en général pour améliorer la qualité du code. Il y a plusieurs écoles sur ce sujet et certains pensent que si aucun bug n’a été remonté sur l’application, alors le refactoring n’est pas nécessaire. D’autres pensent à contrario qu’il est indispensable de conserver un code « propre ».

Conclusion

Au cours de la vie d'un logiciel, on lui ajoute souvent des fonctions, et en tout cas on corrige ses bogues. Ces modifications successives, n'améliorent pas en général la lisibilité du logiciel, ne facilitent pas, de ce fait, sa maintenance ultérieure.

Le code source d'un programme a tout intérêt à rester, malgré ses modifications, le plus clair possible.

Pour toujours conserver un code aussi simple que possible, on :

  • s'assure que toute l'information nécessaire est disponible ;
  • supprime toute information redondante ou duplication de code ;
  • simplifie lorsque c'est possible l'algorithmique des méthodes ;
  • limite la complexité de chaque classe ;
  • limite le nombre de classes.

Les articles de la même catégorie
Quand et pourquoi Java est utilisé pour le développement d'applications ?
Quand et pourquoi Java est utilisé pour le développement d'applications ?
Java est un langage de programmation populaire et est utilisé à grande échelle dans le monde entier pour le développement d'applications. Il présente des avantages tels que le multithreading, l'extensibilité, la gestion de la mémoire, la haute sécurité,
5 years ago
Qu'est-ce que ReactJS et pourquoi devrions-nous utiliser ReactJS ?
Qu'est-ce que ReactJS et pourquoi devrions-nous utiliser ReactJS ?
React est l'un des frameworks front-end le plus populaire pour les applications Web. Dans cet article, nous allons apprendre ce qu'est React (anciennement ReactJS) et pourquoi nous devrions utiliser React au lieu d'autres frameworks JavaScript comme ...
5 years ago
Qu'est-ce que Inertia.js et qui devrait l'utiliser ?
Qu'est-ce que Inertia.js et qui devrait l'utiliser ?
Je suis un développeur full-stack qui développe de nombreuses applications monopages avec Laravel et Vue, ce qui est une excellente combinaison. Cependant, comme je travaille souvent seul sur ces projets, il m'arrive de ne pas voir le lien entre les deux.
4 years ago