Publié le

Développer une nouvelle fonctionnalité ou 'refactorer'

2 min lecture - 296 mots
Auteurs
  • avatar
    Nom
    Cédric RIBALTA
    Twitter

Introduction :

En tant que dev, nous sommes tentés d'optimiser le code existant tout en y ajoutant de nouvelles fonctionnalités.
Cependant, cette pratique peut s'avérer contre-productive.
Dans cet article, nous allons voir pourquoi il est préférable de séparer ces deux tâches.

Refactoring : le refactoring est une pratique qui consiste à améliorer le code existant sans en modifier le comportement.

Les riques :

1. Les risques de bugs :

Windows failed dialog box

Quand tu ajoutes une nouvelle fonctionnalité, tu manipules déjà du code avec un risque d'introduction de bugs. Avec un refactoring en parallèle, tu augmentes les chances d'introduire des bugs, en rendant difficile l'identification de leur origine.

2. Traçabilité et lisibilité :

Someone with glasses issue

En entremêlant tes changements, ça devient plus dur de comprendre ce qui relève du refactoring et ce qui concerne la nouvelle fonctionnalité. Ce qui peut compliquer également la revue de code.

3. Les conflits :

Starship Troopers

Le refactoring touche souvent plusieurs fichiers ou plusieurs bouts de code.
Ce qui augmente les risques de conflits lors d'une fusion (si tu travailles avec d'autres devs sur le même projet bien sur).
Et ce qui peut entraîner des retards et des complexités supplémentaires.

4. Priorisation et focus :

The Rock in a gym

Le développement d'une nouvelle fonctionnalité doit répondre aux besoins des users.
En effectuant un refactoring en même temps, tu diminues ton focus sur cet objectif, et tu prends le risque de ne satisfaire ni l’un ni l’autre.

Les bonnes pratiques :

Sépare ces tâches !

  1. Concentre-toi sur l’ajout de la fonctionnalité
  2. Refactore le code dans une autre tâche

Cette méthode te permettra d'améliorer la qualité de ton code.
La traçabilité sera plus claire.
Et tu feras ton développement en étant beaucoup plus zen.