Frage

Aus Gründen lohnt es sich nicht einlassen, das Objektmodell der django Anwendung an dem ich arbeite ist jetzt „falsch“, sofern eine Reihe von Beziehungen, die 1 bis Viele sind als viele zu viele vertreten. Die Anwendung richtig funktioniert, und die meisten der Weg durch QA. Es ist noch nie im Einsatz.

Mein Design OCD macht mich Refactoring wollen das Problem ist die einzige gute Zeit zu korrigieren, es zu tun ist jetzt, bevor es in die Produktion geht, aber es ist immer noch nicht so gut, eine Zeit, als QA müssen wiederholt werden würde und das Projekt rutschen würde.

Gibt es gute technischen Gründen die Refactoring zu tun? Dies ist ein Werkzeug, das eine Benutzerbasis in zweistelligen nummeriert haben, anstatt die Zehntausenden und die Datenbank ist unwahrscheinlich, dass bedeutende Größe in kurz- bis mittelfristig wachsen, wahrscheinlich sogar die langfristigen. Ich stark bezweifeln Leistung wird ein Faktor sein.

War es hilfreich?

Lösung

Der einzige Geschäft Grund, weshalb ich möglicherweise ist die QA rechtfertigen würde sehen, redoing Wartbarkeit. Meine Fragen wären:

  • Ist das Projekt ein, die für einen langen Zeitraum verwendet werden?
  • Ist das Projekt ein, die im Laufe der Zeit verändert und angepasst werden soll zu?
  • Wird es ausreichend QA Chancen sein, wenn später Änderungen notwendig sind?

Wenn Sie jetzt Refactoring, werden Sie eine kurzfristige Produktivität bei dem möglichen Nutzen einer langfristigen Produktivitätssteigerungen treffen nehmen, da die gewonnene Einfachheit wahrscheinlich Wartbarkeit verbessern. Es gibt keine richtige Antwort, obwohl -. Es hängt wirklich davon ab, wie Ihr Projekt und Bereitstellung ist Setup, und wie Sie Ihre Software verwendet wird

Andere Tipps

Klingt für mich wie Ihre „Gründe wert nicht einlassen“ ist hier wirklich wichtig. Das 1-to-many vs. many-to-many-Design-Problem stinkt einen Kunden, die ihre Anforderungen geändert. Dies geschieht so oft , dass ich werde es annehmen, ist das, was hier passiert ist.

Sie sollten sich wirklich entscheiden, nur auf das, was die günstigste Route auf lange Sicht sein würde, und stellen Sie sicher, den Kunden, ihre Anforderungen geändert werden für die Zeit bezahlen. Oder Sie könnten optional informieren, wer über das Risiko für dieses System zahlt beteiligt geht nach vorn mit einem falsch konzipiertes Produkt, und lassen Sie sie entscheiden, ob sie die Zeit und Geld ausgeben, um es zu fixieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top