Quelle: dotnetpro
dojoAufgabe: Neuschreiben statt refactoring 13.04.2020, 00:00 Uhr

Test-driven? Design first!

In diesem Heft finden Sie meine Lösung zum „Norton Commander“. Die Format-Funktion verletzt einige Clean-Code-Developer-Prinzipien. Grund genug, sie neu zu schreiben.
Eine der Funktionen in der Lösung zur Übungsaufgabe „Norton Commander“ [1] habe ich nicht ganz nach den Regeln der Kunst erstellt. Ich wollte vorankommen, also habe ich die Funktion zunächst mal so runtergeschrieben. Das Ergebnis überzeugte nicht, also habe ich weiter dran herumgebastelt, bis irgendetwas halbwegs Brauchbares dabei herauskam. Immerhin habe ich später dann noch Tests ergänzt und damit die Funktionalität weiter vorangetrieben.
Doch es bleibt dabei: Das Ergebnis ist alles andere als „clean“. Die Funktion hat keine Ordnung, da helfen auch die Tests nicht. Hinzu kommt, dass noch längst nicht alle Anforderungen umgesetzt sind, die Methode also wachsen wird. Statt nun eine Refactoring-Aufgabe daraus zu machen, wäre es doch interessant, noch einmal ganz von vorn zu beginnen. Im realen Projekt steht dieser Weg vielleicht nicht immer offen. Doch auch dort wäre es manches Mal besser, eine Methode zu entsorgen und neu zu schreiben, da Refactoring-Maßnahmen schnell an eine Grenze kommen.

dotnetpro

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde
  • 2 Monate Gratis testen
  • Über 4.000 qualifizierte Fachartikel
  • Auf jedem Gerät verfügbar