EricRogerGarcia

La refactorisation

 

Refactorisation dans le cadre de la programmation

La refactorisation (anglicisme venant de refactoring) est une opération de maintenance du code informatique. Elle consiste à retravailler le code d'un logiciel pour améliorer sa lisibilité et simplifier les modifications ultérieures.

 

Par exemple, la situation suivante arrive fréquemment :

Dans un premier temps, l'on commence à écrire un code pour réaliser une fonction. Ce code est organisé d'une certaine façon.

L'on arrive à faire ce que l'on souhaite : on teste, cela fontionne.

Par la suite, l'on désire ajouter à ce code une autre fonction et l'on s'aperçoit alors que, même si notre code fonctionne pour ce que l'on a déjà réalisé, son organisation n'est pas appropriée à la fonction que l'on veut rajouter. L'on imagine alors une autre organisation qui sera à même de réaliser la fonction précédente et la nouvelle.

Il nous faut alors, dans un premier temps, transférer le code déjà écrit dans la nouvelle organisation. En apparence, c'est comme si l'on devait tout reprendre à zéro mais ce n'est pas le cas. En effet, cette réécriture du code d'une autre façon pour réaliser quelque chose que l'on a déjà fait précédemment est extrèmement simple puisque l'on a déjà résolu la question précédente.

Dans la pratique, la procédure à suivre est généralement de commenter l'ancien code, puis de commencer à réécrire selon la nouvelle organisation et d'insérer le code précédent. On fait alors abondemment appel à du copier-coller entre l'ancien code (toujours disponible dans la partie mise en commentaires) et le nouveau.

Il nous faut alors tester notre nouveau code pour voir si la fonction réalisée précédemment fonctionne dans le cadre de la nouvelle organisation.

Ensuite, l'on peut effacer l'ancien code (en commentaires) qui vient d'être remplacé par le nouveau.

Cela fait, l'on peut travailler à la mise en place de la nouvelle fonction, ce qui sera facilité puisque l'on a maintenant une organisation de notre code adapté pour elle.

 

Refactorisation appliquée à d'autres domaines que l'informatique

Ce terme de refactorisation est utilisé dans le cadre du codage des programmes, mais, si l'on prend du recul, c'est un processus que l'on utilise dans d'autres domaines (sans forcément le qualifier de cette façon).

Quel que soit notre métier, l'on est en interaction avec d'autres personnes (des collègues, des clients, d'autres personnes dans la hiérarchie d'organisation de la société dans laquelle l'on travaille....). A partir du moment où l'on est ammené à aborder des questions d'un certain niveau de complexité (en particulier, du point de vue de la personne ou des personnes auxquelles l'on s'adresse), l'on a à se pencher sur la façon dont on présente les informations que l'on veut faire comprendre.

L'organisation même de l'explication d'un sujet, est un sujet en soi si l'on veut être compris (selon le contexte, les personnes auxquelles on s'adresse...). Travailler et retravailler sur la façon de s'expliquer est une nécessité : c'est bien de la refactorisation !

La plupart du temps, l'on constate que le fait de comprendre un sujet donné (de notre point de vue) ne suffit pas à être compris lorsqu'on essaie d'en parler aux autres. Il est aussi absolumment nécessaire de travailler à la façon de l'expliquer et de s'y prendre différemment en fonction du contexte : refactoriser notre communication aux autres en fonction des gens auxquels on s'adresse : refactoriser notre discours ! Cela s'applique, bien sur, autant à la communication orale qu'à la réalisation de documents écrits (ou autre : des vidéos par exemple).

Gérer les cookies

Ce site utilise des cookies nécessaires à son fonctionnement. Ils permettent de fluidifier son fonctionnement ; par exemple, en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message. Ce site n'utilise pas Google Analytic mais Matomo installé sur le même serveur que le site internet (avec anonymisation des visiteurs). Si vous traduisez le site dans une autre langue (que le français), les services de Google sont utilisés mais sinon, il n'y a pas d'appel à des services externes). ... sauf si vous regardez l'une des nombreuses vidéo de Youtube (c'est pour cela que des vidéos sur Peertube sont utilisées quand c'est possible) !!!