Lernziele
Seminarinhalt
Lernziele
- Die Teilnehmenden lernen erprobte Strategien zum Refactoring von JavaProgrammen kennen.
- Es sollen Kriterien, die die Notwendigkeit für einen Refactoring-Zyklus sowohl bei internen als auch bei extern realisierten Projekten signalisieren, vorgestellt werden.
- Die Teilnehmenden sind nach dem Seminar in der Lage, eine deutliche Steigerung der Qualität der Software innerhalb der Deutschen Bundesbank zu erreichen.
Es sollen viele praktische Übungen zur Umsetzung durchgeführt werden. Diese sollen auch als Referenzbeispiele für “schlechten” und “guten” Java-Code dienen.
Seminarinhalt
Grundlagen:
- Refactoring als Bestandteil des Softwareentwicklungsprozesses – Design Patterns und Software-Entwicklung: Praxis-Relevanz und Wertung
Refactoring:
- Wie erkenne ich “schlechten” Code? – Software-Metriken – Aufwandsabschätzung und Einschätzung des Verbesserungspotenzials – Beurteilung der erreichten Qualitätssteigerung
Refactoring-Verfahren:
- Der Refactoring-Katalog von Martin Fowler: Verfahren für Java und Java EE – Notwendigkeit und Umsetzung von Unit-Tests – Reorganisation von Paketen, Klassen, Schnittstellen, Attributen, Parametern, Methoden – Einführung von Design Patterns – Kapselung und Einführung zusätzlicher Schichten
Werkzeuge:
- Das Test-Framework JUnit – UML-Tools: Erstellung aussagekräftiger Diagramme und Reverse-Engineering von Java-Code – Erstellung von Software-Metriken – Übersicht kommerzieller Produkte
Workshop:
Refactoring einer Beispiel-Applikation – Diskussion des Ergebnisses – Betrachtung von Performance-Aspekten