Wie viel Zeit sollte ich für die Umgestaltung meines Codes aufwenden? [geschlossen]


22

Ich weiß nicht, ob es nur bei mir ist, aber wenn ich anfange, Code zu überarbeiten, verschwende ich viel Zeit damit und es endet nie.

Jedes Mal, wenn ich den Code erneut lese, finde ich etwas, das verbessert werden kann. Das Code-Refactoring gleicht meinem Gehirn einer Endlosschleife, und die Endebedingung wird zufällig ohne Befriedigung erreicht.

Wie viel Zeit sollte ich für die Überarbeitung meines Codes aufwenden?


1
mögliches Duplikat des Refactor-

Antworten:


23

Wenn Sie das Refactoring als etwas Eigenes und nicht als Teil des Entwicklungsprozesses betrachten, kann es niemals enden.

Wenn Sie dem testgetriebenen Entwicklungsansatz von Rot, Grün und Refactor folgen , müssen Sie normalerweise aus zwei Gründen nicht viel Zeit für das Refactoring aufwenden:

  1. Sie werden nach und nach umgestalten, damit es keine Mammutaufgabe wird, sondern nur ein weiterer kleiner Schritt im TDD-Zyklus.

  2. Der interne "Druck", den nächsten Test zu schreiben, wird Ihre Refactoring-Bemühungen auf einem vernünftigen Niveau halten.

Wenn Sie mit Legacy-Code arbeiten, befolgen Sie die "Pfadfinder-Regel" von Onkel Bob. Stellen Sie sich eine kurze Zeitspanne (z. B. 30 Minuten) zur Verfügung und versuchen Sie, den Code in einem saubereren Zustand als zuvor einzuchecken. Jedes Mal, wenn Sie den Code berühren müssen, wird er etwas besser. Mit der Zeit wird der am meisten veränderte Code in Ihrer Codebasis am besten lesbar und berücksichtigt sein.


"Wenn Sie das Refactoring als seine eigene Sache betrachten, anstatt als Teil des Entwicklungsprozesses, dann kann es niemals enden" ... Otoh, "Es scheint, dass Perfektion erreicht wird, nicht wenn es nichts mehr hinzuzufügen gibt, sondern wenn es nichts mehr zum mitnehmen gibt "- Antoine de Saint Exupéry ;-)
Mawg
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.