Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Refaktorisierung mit Entwicklungsumgebungen (Eclipse) Software verbessern Stefan Buchholz.

Ähnliche Präsentationen


Präsentation zum Thema: "Refaktorisierung mit Entwicklungsumgebungen (Eclipse) Software verbessern Stefan Buchholz."—  Präsentation transkript:

1 Refaktorisierung mit Entwicklungsumgebungen (Eclipse) Software verbessern Stefan Buchholz

2 Übersicht Kleiner Einstieg in die Refaktorisierung Tools die Refaktorisierungen unterstützen Ausgesuchte Refektoresierungen am Beispiel Eclipse

3 Das Motivation Das Problem: – Programmierproblem: allmähliche Verfertigung des Gedankens beim Schreiben [2005:Cuber] – Sinken der Codequalität bei Wartung des Softwaresystems Die Lösung – Refaktorisierung – Vom Chaos zur Struktur

4 Ziel der Refaktorisierung Überschaubarkeit und Verständlichkeit des Codes sollen erhöht werden Vereinfachung der Wartbarkeit

5 Definition Refaktorisierung (Substantiv): Eine Änderung an der internen Struktur einer Software, um sie leichter verständlich zu machen und einfacher zu verändern, ohne ihr beobachtbares Verhalten zu ändern. [2000:Fowler] Refaktorisieren (Verb): Eine Software umstrukturieren, ohne ihr beobachtbares Verhalten zu ändern, indem man eine Reihe von Refaktorisierungen anwendet. [2000:Fowler]

6 Refaktorisierungen Es gibt eine große Anzahl von Refaktorisierungen – Umbenennung von Feldern und Methoden mit selbsterklärenden Namen – Entfernung von Codeduplikaten (Copy & Paste) – Weitere Beispiele später …

7 Zeitpunkt der Refaktorisierung Wenn der Code sowieso angefasst werden muss: – Beseitigung von Bugs, – Erweiterungen bzw. funktionale Änderungen sollen vorgenommen werden – Applikationsteile sollen wieder verwendet werden

8 Sprachen mit Refaktoringtools Smalltalk – Smalltalk Refactoring Browser Java – IntelliJ Idea – Eclipse – JFactor – XRefactory – Together-J – JBuilder – RefactorIt – JRefactory – Transmogrify – JafaRefactor – CodeGuide Visual Basic – Aivosto Project Analyzer.NET – ReSharper – C# Refactory – C# Refactoring Tool C/C++ – SlickEdit – Ref++ – Xrefactory Phyton – Bicycle Repair Man Self – Guru Delphi – Model Maker [Quelle:

9 Refaktorisierung in Eclipse Umbenennen Versetzen Methodensignatur ändern Anonyme Klasse in verschachtelte konvertieren Verschachtelten Typ in höchste Ebene konvertieren Herabsetzen Hochsetzen Schnittstelle extrahieren Nach Möglichkeit Supertyp verwenden Integrieren Methode extrahieren Lokale Variable extrahieren Konstante extrahieren Lokale Variable in Feld konvertieren Feld kapseln Fabrikmethode extrahieren

10 Variablen / Methoden / Klassen umbenennen Motivation: – Schlecht lesbare Variablen-, Klassen- und Methodennamen Probleme: – Klassen / Methoden / Variablen werden an unterschiedlichen Stellen aufgerufen

11 Methoden extrahieren Motivation: – Zu lange Methoden – Doppelter Code Probleme: – Lokale / temporäre Variablen sind zu beachten

12 Methode nach oben / unten verschieben Motivation: – Eliminierung redundantem Verhaltens Employee Engineer getName Salesman Employee Engineer getName Salesman

13 Parameter ergänzen / entfernen Motivation: – Änderung einer Methode die Parameter mehr / weniger benötigt Probleme: – Auf polymorphe Methoden muss geachtet werden – Manuelle Codeänderung nach refaktorisieren notwendig

14 Konstruktor durch Fabrikmethode ersetzen / Typschlüssel durch Unterklassen ersetzen Motivation – Typschlüssel durch Unterklassen ersetzen (hierfür Entwurfsmuster Fabrikmethode zu empfehlen) Problem: – Unterschiedliche Aufrufe des bestehenden Konstruktors – Manuelles Programmieren des Inhaltes der Fabrikmethode (Refaktorisierung: Typschlüssel durch Unterklassen ersetzen)

15 Interface extrahieren Motivation: – Es werden von den verantwortlichen Klassen nur Teile genutzt Employee getRate hasSpecialSkill getName getDepartment Employee > Billable getRate hasSpecialSkill getName getDepartment getRate hasSpecialSkill

16 Quellen Ulrich Cuber; Einstieg in Eclipse 3; Galileo Computing 2005 Oliver Fischer (ck); Aus alt mach neu Refactoring verbessert Software; praxis, iX 4/02, Seite 151 Martin Fowler; Refactoring, Wie Sie das Design vorhandener Software verbessern; Addison-Wesley 2000 Thomas Schoen; Runderneuerung, Ein Überblick über Refactoring und dessen Einsatz bei der Java-Entwicklung; Javamagazin 08/2004 Eclipse Hilfe


Herunterladen ppt "Refaktorisierung mit Entwicklungsumgebungen (Eclipse) Software verbessern Stefan Buchholz."

Ähnliche Präsentationen


Google-Anzeigen