2012-12-14 2 views
-1

Que feriez-vous lorsque vous découvrirez une faille fatale dans votre conception et que vous avez déjà écrit beaucoup de code?Gestion des failles de conception fatales

A. Remaniement sur tout -beaucoup de travail

B. Utilisez un bidouille vraiment moche qui fonctionne autour du défaut, mais vous fait vous sentir malheureux et probablement créer de nouveaux problèmes plus tard

C. Aller boire avec vos amis et l'espoir d'une solution se présente en quelque sorte le lendemain

D. Saut d'un pont

E. Quelque chose d'autre, s'il vous plaît préciser dans votre réponse

+0

Peut-être qu'il appartient à http://programmers.stackexchange.com/ –

Répondre

1

Redessiner toutes les choses créées avant prendra beaucoup de temps et c'est généralement très inefficace, parce que le code normaly que vous avez écrit auparavant a été testé et vous savez que cela fonctionne. Et vous devez également avoir une bonne quantité de tests (unité, intégration) pour apporter des changements et être sûr de bien faire. Je préfère utiliser l'approche du livre Steve Mcconnell Solid Code pour le travail avec un code existant de faible qualité.

en short, il ressemble à quelque chose comme ça:

  1. Vous sélectionnez nouveau modèle de conception qui vous aidera à résoudre les problèmes, que la conception actuelle ne pouvait pas résoudre
  2. Vous mettre en œuvre un nouveau code selon la nouvelle modèle
  3. vous construisez une sorte de connecteur qui vous permet de communiquer avec le mauvais code conçu
  4. chaque fois que vous travailler avec le mauvais code conçu vous changer le petite partie vous travaille actuellement avec (refacoring, recodage, de quelque façon que vous voulez )

Pendant le temps de cette façon vous en jachère à la situation que la plupart partie de votre code bien conçu et des systèmes stables et de travail. C'est comme ça que je préfère faire. Mais de toute façon, si vous avez un tel problème, il devrait vous dire à peu près sûr que vous faites des choses de mauvaise façon et que votre conception n'a aucune flexibilité. Et faire les choses de cette façon, il n'y a aucune garantie que vous ne rencontriez pas un tel problème avec votre nouveau design après quelques changements dans le futur.

Questions connexes