Home

Java-Ref

 
Start > Seminare > Übersicht > Analyse-Design-Architektur > Java-Ref
 
home
 
Unternehmen
Produkte
Dienstleistungen
News & Events
Seminare
Termine
Anmeldung
Übersicht
Management
Analyse-Design-Architektur
GPM-U
OOAD-U
MDA-Dev
UML-Upd
OO-DP
OO-Frame
Java-Ref
Programmierung
Mitarbeiter

Refactoring von Java Applikationen

Selbst bei fundierter Designplanung ist es schwierig, die Codequalität einer Anwendung bei fortschreitendem Lebenszyklus zu halten. Wachsende und sich ändernde Anforderungen verwässern das Design. In der Praxis sind viele Programme von Anfang an auf einem eher schwachen Design-Fundament aufgebaut, vorwiegend mangels Erfahrung bei den Designverantwortlichen. Refactoring ist eine Technik, die dabei hilft, die Qualität bestehenden Sourcecodes zu verbessern. Dabei spielen Aspekte wie strukturelle Integrität, Verantwortlichkeit, Einbeziehung des Compilers und Performanz eine wichtige Rolle. Refactoring bezeichnet einen Katalog von Massnahmen, die dabei helfen, den Code einer Applikation so umzustrukturieren, dass ein gutes und robustes Anwendungs-Design erreicht werden kann. Im Gegensatz zu Design-Patterns, die bereits vor der Implementierung gewinnbringend eingesetzt werden können, setzt Refactoring auf der Code-Basis auf. Insbesondere im Java-Umfeld existieren Werkzeuge und/oder Entwicklungsumgebungen, die den Programmierer bei der Tätigkeit des Umstruktierens unterstützen.

Ausgewählte Refactorings werden im der Schulung diskutiert und beispielhaft implementiert. Anhand einer Fallstudie wird ein kleines Programm schrittweise von einem zweifelhaften in ein gutes Design überführt. In Gruppenübungen ist es Aufgabe der Teilnehmer, zu typischen Problemstellungen passende Refactorings zu finden.

Inhalte

  • Refactoring im Software-Entwicklungsprozess: Vorgehen, Organisation, Code Ownership, Unit-Tests, Ausblick auf Extreme Programming, Toolunterstützung
  • Bad Smells in Code und in UML-Diagrams
  • Typische Refactorings
    • Change Association
    • Replace Conditionals with Polymorphism
    • Decompose Conditional
    • Convert Procedural Design to Objects
    • Extract -Class, -Interface, -Method
    • Introduce -Parameter Object, -Assertion, -Foreign Method
    • Replace Constructor with Factory Method
    • Replace Inheritance with Delegation
    • Replace Method with Method Object
    • Replace Nested Conditional with Guard Clauses
  • Angriffspunkte von Refactorings, Vergleich mit Design Patterns
  • Reengineering Patterns:
    • Most Valuable First
    • Fix Problems, not Symptoms
    • Write Tests to enable Evolution
    • Grow your Test Base Incrementally
    • Always have a running version
    • Regression Test after every Change
    • Distinguish Public from Published Interfaces
    • Move Behaviour Close to Data
    • Eliminate Navigation Code
  • Code Metriken
  • Ausblick: Refactorings für verteilte Systeme

Tools

Für die Durchführung der Übung steht Ihnen eclipse zur Verfügung.

Zielgruppe(n)

Projektleiter, Designer, Softwareentwickler.

Voraussetzungen

Erfahrung mit objektorientierter Programmierung unbedingt erforderlich. Ein Besuch der Schulung über Design Patterns oder vergleichbares Wissen ist hilfreich.

Weiterführende Seminare

-

Anmeldung

Weiter zur Anmeldung ...
Seminaranmeldeformular herunterladen

 

Typ:  Analyse / Design /
         Architektur

Code: Java-Ref

Dauer: 2 Tage

Teilnehmerzahl:
Maximal 8 Teilnehmer

Unterlagen: Deutsch

Sprache: Deutsch

Nächster Termin:
Weitere Termine siehe Terminübersicht

Preis:
siehe aktuelle Preisliste

Seminarort: Stuttgart