Combien de temps dois-je consacrer à la refactorisation de mon code? [fermé]


22

Je ne sais pas si c'est juste avec moi, mais quand je commence à refactoriser du code, je perds beaucoup de temps à le faire et ça ne finit jamais.

Chaque fois que je relis le code, je trouve quelque chose qui peut être amélioré, la refactorisation du code est comme mon cerveau dans une boucle infinie et la conditionnelle finale est atteinte au hasard sans satisfaction.

Alors, combien de temps dois-je consacrer à la refactorisation de mon code?


1
doublon possible de Quand refactoriser

Réponses:


23

Si vous traitez le refactoring comme une chose à part entière, plutôt que comme faisant partie du processus de développement, cela peut devenir sans fin.

Si vous suivez l'approche de développement pilotée par les tests de red, green, refactor , vous n'aurez généralement pas à passer beaucoup de temps à refactoring pour deux raisons:

  1. Vous refactoriserez au fur et à mesure, donc cela ne devrait pas devenir une tâche gigantesque, juste une autre petite étape du cycle TDD.

  2. La «pression» interne pour obtenir le prochain test écrit gardera vos efforts de refactoring à un niveau raisonnable.

Si vous travaillez avec du code hérité, suivez la «règle du scoutisme» de l'oncle Bob. Fixez-vous une période de temps courte (disons, 30 minutes) et faites votre objectif de vérifier le code dans un état plus propre qu'auparavant. Chaque fois que vous devrez toucher le code, vous le laisserez légèrement meilleur. Au fil du temps, le code le plus modifié sera le plus lisible et le mieux intégré dans votre base de code.


"Si vous traitez le refactoring comme une chose à part entière, plutôt que comme faisant partie du processus de développement, alors il peut devenir sans fin" ... Otoh, "Il semble que la perfection soit atteinte, pas quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à emporter "- Antoine de Saint Exupéry ;-)
Mawg
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.