Category: Einfache Refactorings

Einfache Refactorings - Teil 5

Die Testbarkeit verbessern - Internal Test Constructor Um automatisierte Tests ergänzen zu können, ist es manchmal sinnvoll, einen Internal Test Constructor mit einem Konstruktorparameter einzuführen, über den die Abhängigkeit von außen reingereicht werden kann. Die folgende Methode kann nicht gut automatisiert getestet werden, da sie eine Abhängigkeit von der aktuellen Zeit, hier in Form der…


Einfache Refactorings - Teil 4

Abhängigkeiten reduzieren - Extract Method und Introduce Parameter Der folgende Ausschnitt aus einer Wecker Anwendung zeigt den Code der ausgeführt wird, wenn in der Benutzerschnittstelle die Start Schaltfläche betätigt wird: [crayon-590f0633e765d706665444/] Im ersten Schritt hilft ein Extract Method dabei, den Code verständlicher zu machen. Die zusätzliche Methode ermöglicht es dem Leser, allein…


Einfache Refactorings - Teil 3

if-Anweisungen vereinfachen - Extract Method Ein weiteres Anwendungsgebiet für das Extract Method Refactoring sind Bedingungen von Verzweigungen. Das folgende Listing zeigt einen Ausschnitt aus einer Weckeranwendung. [crayon-590f0633e8973275830749/] Die Bedingung der if-Anweisung erschließt sich beim Lesen spätestens, wenn wir den Inhalt der Verzweigung lesen. Da wird eine Sounddatei abgespielt…


Einfache Refactorings - Teil 2

Das Abstraktionsniveau anheben - Extract Class from Parameters Das Extract Class from Parameters Refactoring hilft, wenn ist die Parameterliste einer Method über die Jahre etwas zu lang geworden ist. Manchmal stehen die Parameter in einem sinnvollen Zusammenhang zueinander, so dass man sie zu einer Klasse zusammenfassen kann. Das ist nicht immer der Fall, vor allem, wenn eine Methode für mehr als…


Einfache Refactorings - Teil 1

Einfache vs. komplexe Refactorings In dieser Reihe von Blogbeiträgen stelle ich Ihnen sogenannte Einfache Refactorings vor. Im Gegensatz zu Komplexen Refactorings sind diese vollständig toolgestützt durchführbar. Das bedeutet, dass Sie die Veränderungen am Quellcode automatisiert mithilfe einer IDE, z.B. Microsoft Visual Studio oder JetBrains Rider, ausführen. Vielleicht setzen Sie auch ein…