Factorisation

Définition, exemples et bonnes pratiques

À retenir

  • Évite la duplication inutile de code.
  • Facilite la maintenance (une seule modification impacte tout le programme).
  • Améliore la clarté et la lisibilité du projet.

La factorisation consiste à repérer des morceaux de code identiques ou très similaires à plusieurs endroits d'un programme pour les regrouper dans un élément unique, comme une fonction. C'est un peu comme si, dans un livre de cuisine, au lieu de réécrire toute la recette de la pâte à tarte pour chaque dessert, on créait une page dédiée à laquelle on ferait simplement référence.

Étymologie

Vient du latin factor (« celui qui fait »). En mathématiques, factoriser signifie décomposer un nombre en produits de facteurs (ex: 15 = 3 x 5). En informatique, on a emprunté ce terme pour désigner l'extraction de points communs dans le but de simplifier une structure globale.

Exemples d'usage

  • Créer une fonction calculerTVA() au lieu de réécrire la formule de calcul sur chaque page d'un site e-commerce.
  • Utiliser une boucle for pour afficher une liste d'utilisateurs plutôt que d'écrire manuellement l'affichage pour chaque personne.
  • Regrouper le style graphique de plusieurs boutons dans une seule classe CSS.

Cas d'usage

Ce concept intervient principalement lors de la phase de refactorisation (amélioration du code sans changer son comportement). On l'utilise en développement web, applicatif ou système pour rendre le code plus lisible, plus court et surtout plus facile à corriger en cas de bug.

Bonnes pratiques

Appliquez le principe DRY (Don't Repeat Yourself). Cependant, attention à ne pas trop factoriser : si vous regroupez deux morceaux de code qui se ressemblent par pur hasard mais n'ont pas la même utilité logique, vous risquez de rendre le programme trop rigide et complexe.

Synonymes

mutualisation factorisation de code simplification de structure

Antonymes

duplication de code copier-coller

Conseil

Dès que vous vous surprenez à faire un copier-coller d'un bloc de code, demandez-vous s'il ne serait pas plus judicieux de créer une fonction. Une bonne règle consiste à factoriser dès qu'une logique apparaît trois fois.

Questions fréquentes

Quelle est la différence entre factorisation et refactorisation ?

La factorisation est une technique précise (regrouper l'identique), tandis que la refactorisation est un terme plus large qui désigne toute réorganisation du code pour l'améliorer sans changer ce qu'il fait.

Est-ce que ça ralentit le programme ?

Généralement non. L'impact sur la performance est négligeable par rapport au gain immense en qualité de travail pour les développeurs.