| Refactoring | Dieser Text beschreibt Refactoring. Der untere Text beinhaltet die Refactoring Beschreibung. Soweit es sich um ein definierbares Objekt handelt, sollte hier eine Refactoring Definition vorhanden sein. Sollte eine Definition von Refactoring fehlen, kann diese von Ihnen verfaßt werden. Wir sind bestrebt die Beschreibung von Refactoring möglichst ausführlich zu halten.
Jeder Text bei Know-Library, sowie ein Teil davon (Definition, Beschreibung etc.), außer Bücher Beschreibungen kann bearbeitet werden. Falls die Beschreibung auf dieser Seite nicht korrekt ist klicken Sie auf 'Beschreibung editieren' um den Text zu korrigieren bzw. neuen einzufügen. Weitere Informationen und Bücher zum Thema Refactoring Beschreibung , so wie Link zum Forum finden Sie weiter unten. Eine Übersicht der Texte, die das Thema Refactoring beschreiben finden Sie auf der Seite alle Artikel über Refactoring. Fragen zu dem Thema Refactoring können im Forum gestellt werden. Klicken Sie hier um zu dem Forum zu wechseln.
Refactoring ArtikelRefactoring, deutsch meist unzutreffend mit Refaktorisierung und ab und zu mit Refaktorierung genannt, ist ein Begriff aus der Informatik, spezieller der Softwareentwicklung. Durch Refaktorisierung verbessert man Lesbarkeit und Struktur (Architektur) eines Computerprogramms, dessen Funktionalität bleibt aber erhalten.
Refaktorisierung ist ein wichtiger Bestandteil des Extreme Programming.
Buch-Tipp: Exploring JavaScript. Von Insidern lernen (Entwickler-Press) Um ausführliche Informationen zum Buch " Exploring JavaScript. Von Insidern lernen (Entwickler-Press)" zu bekommen klicken Sie bitte auf den Hyperlink oberhalb von diesem Text. Sie werden zum entsprechenden Buch auf der Händlerseite weiter geleitet. | |
Der Ausdruck wurde zu dem ersten Mal in einer Arbeit Ralph Johnson und William Opdyke 1990 gebraucht ("Refactoring: An aid in designing application frameworks and evolving object-oriented systems. In: Proceedings of Symposion on Object-Oriented Programming Emphasizing Practical Applications (SOOPPA), September 1990)). Opdyke promovierte 1992 über das Thema.
Sie entwickelten die Idee einer Software-Refactory, die das Umgestalten (eben das re-factoring) von Software-Programmen erleichtern sollte.
Die unzutreffende Übersetzung Refaktorisierung stammt aus einer Verwechslung mit einer häufig zitierten Analogie, die ursprünglich nicht Begriffsinhalt war: Refactoring ist eine Art, ein Programm so zu modifizieren, dass verborgene Strukturen offengelegt werden, ohne die Funktionaliät zu ändern: Dies, so der Analog-Schluss, entspreche dem Vorgehen der Faktorisierung von Polynomen in der Mathematik.
Buch-Tipp: Modellierung mit UML. Sprache, Konzepte und Methodik. Es gibt leider keine Beschreibung für das Buch " Modellierung mit UML. Sprache, Konzepte und Methodik. ". Um weitere Informationen zu diesem Buch zu finden klicken Sie bitte auf den Link oberhalb von diesem Text. Sie werden automatisch zum Buchhändler weiter geleitet. |
| |
Refactoring dient der Verbesserung der Wartbarkeit des Designs in der Art, dass es für den Programmierer leichter wird, den bestehenden Code funktional zu erweitern oder an anderer Stelle wiederzuverwenden. Dies versucht man zu erreichen, indem man den Code bezüglich folgender Kriterien verbessert:
- Lesbarkeit, so dass möglichst viele Programmierer verstehen, was der Code tatsächlich macht
- Testbarkeit (siehe Unit-Test), so dass es möglich wird, die korrekte Arbeitsweise des Codes für die Zukunft durch Regressionstests abzusichern
- Modularität und Redundanz, so dass konkrete Problemlösungen von anderer Stelle genutzt werden können und nicht mehrfach implementiert sind
Im üblichen Softwareentwicklungszyklus ist ein fortwährender Kreislauf von Spezifikation, Design, Implementierung und Tests vorgesehen. Nach jedem Durchlauf kann das Softwareprodukt stets wieder neu in diesen Kreislauf einsteigen. Mit den klassischen Techniken hieß das jedoch, dass nach einer Änderung der Spezifikation oder einem Redesign häufig Teile oder sogar das ganze Programm völlig neu geschrieben werden mussten. Refaktorisierung erlaubt dem Entwickler diesen Zyklus permanent in dem Kleinen ablaufen zu lassen, und so sein Produkt kontinuierlich zu verbessern.
Buch-Tipp: Perspectives of Systems Informatics: 6th International Andrei Ershov Memorial Conference, PSI 2006, Novosibirsk, Russia, June 27-30, 2006, Revised Papers (Lecture Notes in Computer Science) Das Buch " Perspectives of Systems Informatics: 6th International Andrei Ershov Memorial Conference, PSI 2006, Novosibirsk, Russia, June 27-30, 2006, Revised Papers (Lecture Notes in Computer Science)" ist leider ohne Beschreibung. Klicken Sie auf den Link über diesem Text um zu der Seite des Buchhändlers zu gelangen. Beim Klicken... |
Risiken und deren Handhabung | |
Refactoring wird ca. auf funktionierendem Code ausgeführt (dessen Funktionalität soll ja erhalten bleiben). Dies beinhaltet aber auch das Risiko, selbst etwas am Code kaputt zu machen. Um dieses Risiko zu vermeiden (oder wenigstens zu minimieren) benutzt man verschiedene Regeln, die den Prozess des Refaktorisierens ungefährlicher machen.
Zuallererst sollte man eine Reihe automatisch ablaufender Unit-Tests haben. Diese werden vor der Refaktorisierung angewandt, und man beginnt erst, wenn die Tests alle funktionieren. Dies stellt sicher, dass das Programm richtig läuft. Nach Ausführung des Refactoring wird wieder die Testsuite ausgeführt. So kann man Fehler beim Refactoring sofort erkennen.
Zusätzlich gilt das Prinzip der kleinen Änderungen. Wenn man ca. wenig verändert, dann kann man auch wenig zerstören. Meistens kann man komplexe Refaktorisierungen, die man plant, in einfache kleine Einheiten zerlegen. Vor und nach jedem Schritt wird wieder durch die Tests die Integrität des Systems geprüft.
Schließlich gibt es einen Katalog von Refactoring-Mustern, die ähnlich wie die Entwurfsmuster eingesetzt werden, um Fehler zu vermeiden. Dabei ist in jedem Muster eine Reihe von Parametern definiert. Da wäre erstmal die Absicht des Musters (Methode extrahieren, Klasse umbebezeichnen, etc.) und dazu dann eine Reihe von Arbeitsanweisungen, die für diese Aktion ausgeführt werden müssen. Viele dieser Muster können heutzutage automatisch von Werkzeugen umgesetzt werden. Man trifft als Softwareentwickler ca. noch die Entscheidung, welches Muster worauf angewendet wird, um den Quelltext zu verbessern.
Buch-Tipp: Refactoring . Wie Sie das Design vorhandener Software verbessern Brilliantes Werk - Bedenkliche Übersetzerleistung Fowlers Refactoring ist nicht umsonst ein Klassiker - ein wichtiges Thema wird gut strukturiert mit einer Vielzahl an (nachvollziehbaren) Beispielen abgehandelt, dabei bleibt das Buch stets noch ausgezeichnet lesbar. Allerdings geht der Übersetzer mit der sprachlichen Kettensäge vor, da wird Fachsprache... |
Weiteres zu dem Artikel Refactoring |
| Andere Leser interessierten sich auch für folgende Beschreibungen: | Faktorisierung, Fehler, Handhabung, Isbn, Kreislauf, Kriterien, Quelltext, September, Symposion | | Schnellzugrif auf verwandte Texte: | | | NEU! Frage im Forum zum Thema: | | Wenn die Beschreibung 'Refactoring' Ihrer Meinung nach nicht korrekt ist oder in aktueller Version Fehler enthalten sind oder es fehlt die Refactoring Definition, dann klicken Sie bitte auf "Beschreibung bearbeiten" und schreiben Sie die Eigene Version des Textes. Die Änderungen in der Beschreibung werden sofort aktiv und für alle sichtbar. Ein Administrator wird Ihre Version der Beschreibung und Definition von 'Refactoring' nachher prüfen. Bitte achten Sie auf die Urheberrechte (Copyright). Wir sind für die besseren Beschreibung von 'Refactoring' und 'Refactoring' Definition sehr dankbar.
Alle Tipps zu den Bücher auf dieser Seite wurden automatisch generiert. D.h. die Bücher wurden aus einer Datenbank von dem Computer ausgesucht. Deshalb kann es vorkommen, dass vorgeschlagene Bücher nicht ganz der 'Refactoring' Beschreibung entsprechen.
|
|
· Diese Seite wurde bisher 331 mal abgerufen. · Letzte Counteraktualisierung erfolgte am 17.05.2008 um 02:50:00 · Diese Seite wurde zuletzt geändert um 23:19, 27. Sep 2004. · Letzte Portalaktualisierung erfolgte um 08:00:00 GMT, 25.02.2008
|