Operation |
Umfang / Auswirkung |
Ziel |
Umbenennung von Klassen, Methoden, Feldern, Packages, Parametern und lokalen Variablen |
Beim Umbenennen müssen alle zugehörigen Referenzen optional auch Javadocs umbenannt werden |
Bessere Lesbarkeit und Verständlichkeit |
Verschiebe Klasse |
Verschieben einer Klasses oder eines Interfaces in ein anderes Package (ggf. auch unter einer anderen Verzeichniswurzel). Alle Referenzen im Kode müssen umbenannt werden. |
Fachliche Zugehörigkeit klarstellen. Erkennen von Schnittstellen. |
Verschiebe Methode/Field |
Verschieben von Methoden und Felder in andere Klassen. Alle Referenzen werden aktualisiert. Sichtbarkeit kann optional verändert werden. |
Auflösen von God Klassen und Beseitigung von Feature Envies. |
Extrahiere Methode |
Herauslösen eines Kodeblockes als eigene Methode. |
Verbesserte Strukturierung, Verringern der Verschachtelungstiefe, Beseitigung von Kodedoppelungen. |
Extrahiere Superklasse |
Ausgewählte Felder und Methoden werden als Klasse extrahiert. Die bestehende Klasse wird von der neuen Klasse abgeleitet. |
Bessere Abbildung von Spezialisierung. Verringert die Anzahl der Methoden und Felder einer Klasse. |
Extract Interface |
Ausgewählte Felder und Methodensignaturen werden als Interface extrahiert. |
Bereitstellung einer eingeschränkten Sicht auf die Klasse für öffentliche Schnittstellen. |
Anpassung der Methoden Signatur |
Es können Reihenfolge, Typ und Anzahl der Parameter angepasst werden. |
Verbesserung der Lesbarkeit. |
Mindest Zugriffsrechte |
Ermittelt die minimal notwendigen Zugriffsrechte in Bezug auf Sichtbarkeit für Felder und Methoden. |
Zustands hiding |
Erstelle Klassenkonstruktor |
Erzeugt ein Konstruktor der für jedes Feld der Klasse einen Parameter besitzt. |
Verbesserte Strukturierung |
Pull Up oder Push Down Method |
Verschiebt Methoden in die Super oder Subklasse. |
Klärung von Fachlichkeit. |
Lokale Variable einführen |
Aus dem Kode wird ein Ausdruck extrahiert und einer lokalen Variablen zugewiesen. Anschliessend werden die Auftreten des Ausdruckes durch die Variable ersetzt. |
Explizites Benennen eines Ausdruckes um damit klar zu stellen, warum dieser Schritt getan werden muss oder das dieser Schritt notwendig ist und kein Flüchtigkeitsfehler. Oder zum Klarstellen der Bedeutung eines Ausdruckes. |
Ersetze Variable durch Method |
Es wird eine Methode aus dem initialisierenden Ausdruck einer lokalen Variable gebildet, welche das Ergebnis des Audruckes zurückliefert. Alle Verwendungen der lokalen Variable werden durch den Aufruf der Methode ersetzt und die lokale Variable wird entfernt. |
Verbesserte Strukturierung |
Konvertiere anonyme Klasse zu Innere Klasse. |
Der Ausdruck zur Initialisierung einer anonymen Klasse wird in eine innere Klasse umgewandelt. |
Verbesserte Lesbarkeit und Struktur. |
Delegiere auf Superklasse |
Die Ableitung von der Superklasse wird entfernt. Stattdessen wird ein Feld vom Typ der Superklasse definiert und im Konstruktor initialisiert. Alle vormals geerbten Methoden werden deklariert und im Body wird auf die Methoden des Feldes delegiert. |
Auflösung von Mehrfachvererbung. |
Created By
https://github.com/Huluvu424242
Metadata
Comments
No comments yet. Add yours below!
Add a Comment
Related Cheat Sheets
More Cheat Sheets by FunThomas424242