2008-11-18 6 views
1

Pourquoi les entreprises devraient-elles investir dans la refactorisation des composants, sans ajouter aucune nouvelle fonctionnalité au produit? Je suis d'accord que c'est pour nettoyer le code, corriger les bugs et supprimer le code mort - mais quel est le prendre?Besoin de refactoriser?

Répondre

10

Maintenance. Cela réduira considérablement vos coûts de maintenance. Il n'y a aucune comparaison entre le code entièrement factorisé et le rebut qui se trouve dans la plupart des dépôts d'entreprises. Ce dernier est pratiquement sans valeur, tandis que le premier est de l'or.

+0

Mais quelle est la valeur ajoutée pour le client ?? – atVelu

+0

Il n'y a pas de client unique: le client existe tout au long du cycle de vie du code. Chaque correction de bogues et mise à jour est plus facile et plus rapide, de sorte que le produit à un moment donné a plus de stabilité. Je travaille actuellement sur votre prochain décodeur - voulez-vous que je cesse de refactoriser (croyez-moi, la réponse est non)? –

2

Cela dépend de qui vous demandez. Un gestionnaire non technique peut dire qu'il n'y a pas besoin. Un développeur de support dirait que cela aiderait à réduire les coûts de maintenance.

1

Le refactoring doit faire partie de votre travail quotidien. Vous refactorisez constamment votre code pour le rendre plus lisible/maintenable/robuste/réutilisable, etc.

Votre code est un document évolutif. Si ça ne change pas avec le temps, ça devient stagnant.

Investir dans les tests. Investir dans le refactoring. Investir dans l'écriture de bon code.

0

Pour commencer par: Le refactoring est une taxe. Si le code fonctionne, alors vous passez du temps à corriger le code qui fonctionne déjà, je peux voir que les types d'entreprises ont l'air perplexe maintenant. Un dicton que j'aime est "Legacy est un autre mot pour le code qui fonctionne."

Maintenant, il existe de nombreux problèmes avec une base de code croissante qui doivent être résolus avant de passer plus de temps à gérer le code qui développe des fonctionnalités. Personnellement, j'aime la philosopie "No Broken Windows".

0

S'il n'est pas cassé, ne le réparez pas.

Mais si vous devez commencer à adapter les composants à de nouvelles exigences imprévisibles, il est souvent judicieux d'identifier les bits que vous pouvez extraire et réutiliser. Vous devez être certain que vos modifications introduisent des bogues inattendus - vous aurez donc besoin d'une bonne couverture de test.

1

maintenance. Parfois, un projet arrive à grand ou avec trop de correctifs "rapides" pour être encore étendu. Vous devez juste vous asseoir calmement et nettoyer et refactoriser.

1

Alors que les autres réponses sont toutes vraies, la puissance du refactoring est qu'il vous permet de modifier la conception de votre code avec des résultats prévisibles. Le plus gros problème de maintenance est qu'il est pratiquement impossible d'anticiper toutes les exigences pour les applications complexes.

La plupart d'entre elles peuvent être traitées en ajoutant une nouvelle fonctionnalité comme un nouveau rapport ou une nouvelle commande. Mais d'autres exigeront qu'une partie de votre demande soit repensée. C'est là que le refactoring et ses tests unitaires entre frères et soeurs entrent en ligne de compte. En utilisant des techniques de refactoring, vous pouvez effectuer les modifications de conception nécessaires en toute sécurité.

Ce n'est pas une panacée, mais un autre outil qui améliore la qualité de votre code. (programmation structurée, orientation objet, etc.)

Questions connexes