Refactoring

Version vom 5. April 2024, 17:05 Uhr von Glanz (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{:MOOCit - Oben}} {| align=center {{:D-Tab}} '''Refactoring''' {{o}} Softwarequalität {{o}} Lesbarkeit des Codes {{o}} Wartbarkeit {{o}} Methoden-Extraktion |} {{:BRK}} = Einleitung = Refactoring ist eine zentrale Praxis in der Softwareentwicklung, die darauf abzielt, den Quellcode eines Programms zu verbessern, ohne dabei die Funktionalität zu verändern. Ziel ist es, die Verständlichkeit des Codes zu erhöhen, seine Komplexität…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)



Refactoring



Einleitung

Refactoring ist eine zentrale Praxis in der Softwareentwicklung, die darauf abzielt, den Quellcode eines Programms zu verbessern, ohne dabei die Funktionalität zu verändern. Ziel ist es, die Verständlichkeit des Codes zu erhöhen, seine Komplexität zu verringern und so die Wartung und Erweiterung des Programms zu erleichtern. In diesem aiMOOC werden wir uns detailliert mit dem Prozess des Refactorings befassen, unterschiedliche Techniken vorstellen und durch interaktive Elemente das Verständnis vertiefen.


Was ist Refactoring?

Refactoring ist der Prozess der Umstrukturierung bestehenden Quellcodes, ohne dessen externes Verhalten zu ändern. Ziel des Refactorings ist es, die Softwarequalität zu verbessern, indem die Verständlichkeit des Codes erhöht, Duplikate eliminiert, die Komplexität reduziert und somit die Wartbarkeit verbessert wird. Durch Refactoring wird der Code sauberer, einfacher zu verstehen und effizienter zu warten.


Warum ist Refactoring wichtig?

  1. Verbessert die Lesbarkeit des Codes und macht ihn verständlicher.
  2. Vereinfacht die Wartung und das Hinzufügen neuer Funktionen.
  3. Hilft, Fehler zu finden und zu beheben.
  4. Fördert die Wiederverwendbarkeit von Code.
  5. Trägt dazu bei, die Leistung der Software zu verbessern.


Refactoring-Techniken

Es gibt viele Techniken des Refactorings, von denen jede auf spezifische Probleme im Code abzielt. Einige der bekanntesten Techniken umfassen:

  1. Methoden-Extraktion: Eine lange Methode wird in kleinere Methoden aufgeteilt, um die Verständlichkeit zu verbessern.
  2. Variablen-Umbenennung: Variablen werden so umbenannt, dass ihre Funktion im Code klarer wird.
  3. Entfernen von Code-Duplikaten: Duplizierter Code wird eliminiert, um Redundanzen zu reduzieren.
  4. Vereinfachung von Bedingungen: Komplexe Bedingungen werden vereinfacht, um sie leichter verständlich zu machen.


Interaktive Aufgaben


Quiz: Teste Dein Wissen

Was ist das Hauptziel des Refactorings? (Verbesserung der Softwarequalität ohne Änderung der Funktionalität) (!Hinzufügen neuer Funktionen) (!Leistungssteigerung der Hardware) (!Änderung des Software-Designs)

Welche Refactoring-Technik zielt darauf ab, die Lesbarkeit durch Aufteilung langer Methoden zu verbessern? (Methoden-Extraktion) (!Variablen-Umbenennung) (!Entfernung von Code-Duplikaten) (!Vereinfachung von Bedingungen)

Welches ist kein direktes Ziel des Refactorings? (!Verbesserung der Leistung) (Hinzufügen neuer Funktionen) (Änderung des externen Verhaltens) (Erhöhung der Entwicklungszeit)

Warum ist die Lesbarkeit des Codes wichtig? (Sie erleichtert die Wartung und Erweiterung) (!Sie erhöht die Ausführungsgeschwindigkeit der Programme) (!Sie reduziert die Speichernutzung) (!Sie verbessert die Benutzererfahrung der Endanwender)

Was wird durch Refactoring direkt beeinflusst? (Softwarequalität) (!Softwarefunktionalität) (!Hardwareanforderungen) (!Netzwerklatenz)





Memory

Methoden-Extraktion Aufteilung langer Methoden
Variablen-Umbenennung Klärung der Funktion von Variablen
Entfernung von Code-Duplikaten Reduktion von Redundanzen
Vereinfachung von Bedingungen Leichtere Verständlichkeit von Bedingungen





Kreuzworträtsel

refactor Der Prozess der Code-Verbesserung ohne Funktionsänderung
readability Ziel des Refactorings, den Code leichter lesbar zu machen
duplication Etwas, das durch Refactoring reduziert wird
maintainability Wird durch erfolgreiches Refactoring verbessert




LearningApps

Lückentext

Vervollständige den Text.

Refactoring ist der Prozess der

bestehenden Quellcodes, ohne das externe Verhalten zu ändern, mit dem Ziel, die

zu verbessern. Es zielt darauf ab, die

des Codes zu erhöhen und die

zu erleichtern.


Offene Aufgaben

Leicht

  1. Refactoring: Untersuche ein kleines Programm und identifiziere eine Methode, die für eine Extraktion geeignet wäre. Beschreibe, wie du die Extraktion durchführen würdest.
  2. Code-Analyse: Wähle einen Codeabschnitt aus und benenne mindestens drei Variablen um, um ihre Bedeutung klarer zu machen.

Standard

  1. Duplikat-Eliminierung: Finde in einem größeren Codeprojekt Beispiele für duplizierten Code und erstelle einen Plan, wie du diese Duplikate entfernen könntest.
  2. Bedingungen vereinfachen: Suche nach komplexen Bedingungen in einem Code und schlage eine Vereinfachung vor.

Schwer

  1. Gesamtes Projekt: Wähle ein Open-Source-Projekt und führe eine umfassende Refactoring-Sitzung durch. Dokumentiere deine Schritte und die Ergebnisse.
  2. Refactoring-Plan: Erstelle einen detaillierten Refactoring-Plan für ein mittelgroßes Softwareprojekt, inklusive Priorisierung der Aufgaben und geschätztem Zeitaufwand.




Text bearbeiten Bild einfügen Video einbetten Interaktive Aufgaben erstellen



Lernkontrolle

  1. Beschreibe, wie Refactoring die Wartbarkeit eines Softwareprojekts beeinflusst.
  2. Erkläre, warum Refactoring nicht dazu dient, die Funktionalität der Software zu ändern, sondern deren Qualität zu verbessern.
  3. Diskutiere, wie Refactoring zur Fehlerfindung und -behebung beitragen kann.
  4. Analysiere, warum die Eliminierung von Code-Duplikaten für die langfristige Code-Qualität wichtig ist.
  5. Entwickle eine Strategie, wie du ein bestehendes Projekt systematisch refaktorisieren würdest, um die Lesbarkeit und Wartbarkeit zu verbessern.



OERs zum Thema


Links

Teilen - Diskussion - Bewerten





Schulfach+

Prüfungsliteratur 2026
Bundesland Bücher Kurzbeschreibung
Baden-Württemberg

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Heimsuchung - Jenny Erpenbeck

Mittlere Reife

  1. Der Markisenmann - Jan Weiler oder Als die Welt uns gehörte - Liz Kessler
  2. Ein Schatten wie ein Leopard - Myron Levoy oder Pampa Blues - Rolf Lappert

Abitur Dorfrichter-Komödie über Wahrheit/Schuld; Roman über einen Ort und deutsche Geschichte. Mittlere Reife Wahllektüren (Roadtrip-Vater-Sohn / Jugendroman im NS-Kontext / Coming-of-age / Provinzroman).

Bayern

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Heimsuchung - Jenny Erpenbeck

Abitur Lustspiel über Machtmissbrauch und Recht; Roman als Zeitschnitt deutscher Geschichte an einem Haus/Grundstück.

Berlin/Brandenburg

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Woyzeck - Georg Büchner
  3. Der Biberpelz - Gerhart Hauptmann
  4. Heimsuchung - Jenny Erpenbeck

Abitur Gerichtskomödie; soziales Drama um Ausbeutung/Armut; Komödie/Satire um Diebstahl und Obrigkeit; Roman über Erinnerungsräume und Umbrüche.

Bremen

Abitur

  1. Nach Mitternacht - Irmgard Keun
  2. Mario und der Zauberer - Thomas Mann
  3. Emilia Galotti - Gotthold Ephraim Lessing oder Miss Sara Sampson - Gotthold Ephraim Lessing

Abitur Roman in der NS-Zeit (Alltag, Anpassung, Angst); Novelle über Verführung/Massenpsychologie; bürgerliche Trauerspiele (Moral, Macht, Stand).

Hamburg

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Das kunstseidene Mädchen - Irmgard Keun

Abitur Justiz-/Machtkritik als Komödie; Großstadtroman der Weimarer Zeit (Rollenbilder, Aufstiegsträume, soziale Realität).

Hessen

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Woyzeck - Georg Büchner
  3. Heimsuchung - Jenny Erpenbeck
  4. Der Prozess - Franz Kafka

Abitur Gerichtskomödie; Fragmentdrama über Gewalt/Entmenschlichung; Erinnerungsroman über deutsche Brüche; moderner Roman über Schuld, Macht und Bürokratie.

Niedersachsen

Abitur

  1. Der zerbrochene Krug - Heinrich von Kleist
  2. Das kunstseidene Mädchen - Irmgard Keun
  3. Die Marquise von O. - Heinrich von Kleist
  4. Über das Marionettentheater - Heinrich von Kleist

Abitur Schwerpunkt auf Drama/Roman sowie Kleist-Prosatext und Essay (Ehre, Gewalt, Unschuld; Ästhetik/„Anmut“).

Nordrhein-Westfalen

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Heimsuchung - Jenny Erpenbeck

Abitur Komödie über Wahrheit und Autorität; Roman als literarische „Geschichtsschichtung“ an einem Ort.

Saarland

Abitur

  1. Heimsuchung - Jenny Erpenbeck
  2. Furor - Lutz Hübner und Sarah Nemitz
  3. Bahnwärter Thiel - Gerhart Hauptmann

Abitur Erinnerungsroman an einem Ort; zeitgenössisches Drama über Eskalation/Populismus; naturalistische Novelle (Pflicht/Überforderung/Abgrund).

Sachsen (berufliches Gymnasium)

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Woyzeck - Georg Büchner
  3. Irrungen, Wirrungen - Theodor Fontane
  4. Der gute Mensch von Sezuan - Bertolt Brecht
  5. Heimsuchung - Jenny Erpenbeck
  6. Der Trafikant - Robert Seethaler

Abitur Mischung aus Klassiker-Drama, sozialem Drama, realistischem Roman, epischem Theater und Gegenwarts-/Erinnerungsroman; zusätzlich Coming-of-age im historischen Kontext.

Sachsen-Anhalt

Abitur

  1. (keine fest benannte landesweite Pflichtlektüre veröffentlicht; Themenfelder)

Abitur Schwerpunktsetzung über Themenfelder (u. a. Literatur um 1900; Sprache in politisch-gesellschaftlichen Kontexten), ohne feste Einzeltitel.

Schleswig-Holstein

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Heimsuchung - Jenny Erpenbeck

Abitur Recht/Gerechtigkeit und historische Tiefenschichten eines Ortes – umgesetzt über Drama und Gegenwartsroman.

Thüringen

Abitur

  1. (keine fest benannte landesweite Pflichtlektüre veröffentlicht; Orientierung am gemeinsamen Aufgabenpool)

Abitur In der Praxis häufig Orientierung am gemeinsamen Aufgabenpool; landesweite Einzeltitel je nach Vorgabe/Handreichung nicht einheitlich ausgewiesen.

Mecklenburg-Vorpommern

Abitur

  1. (Quelle aktuell technisch nicht abrufbar; Beteiligung am gemeinsamen Aufgabenpool bekannt)

Abitur Land beteiligt sich am länderübergreifenden Aufgabenpool; konkrete, veröffentlichte Einzeltitel konnten hier nicht ausgelesen werden.

Rheinland-Pfalz

Abitur

  1. (keine landesweit einheitliche Pflichtlektüre; schulische Auswahl)

Abitur Keine landesweite Einheitsliste; Auswahl kann schul-/kursbezogen erfolgen.




aiMOOCs



aiMOOC Projekte












YouTube Music: THE MONKEY DANCE


Spotify: THE MONKEY DANCE


Apple Music: THE MONKEY DANCE

Amazon Music: THE MONKEY DANCE



The Monkey Dance SpreadShirtShop




The Monkey DanceaiMOOCs

  1. Trust Me It's True: #Verschwörungstheorie #FakeNews
  2. Gregor Samsa Is You: #Kafka #Verwandlung
  3. Who Owns Who: #Musk #Geld
  4. Lump: #Trump #Manipulation
  5. Filth Like You: #Konsum #Heuchelei
  6. Your Poverty Pisses Me Off: #SozialeUngerechtigkeit #Musk
  7. Hello I'm Pump: #Trump #Kapitalismus
  8. Monkey Dance Party: #Lebensfreude
  9. God Hates You Too: #Religionsfanatiker
  10. You You You: #Klimawandel #Klimaleugner
  11. Monkey Free: #Konformität #Macht #Kontrolle
  12. Pure Blood: #Rassismus
  13. Monkey World: #Chaos #Illusion #Manipulation
  14. Uh Uh Uh Poor You: #Kafka #BerichtAkademie #Doppelmoral
  15. The Monkey Dance Song: #Gesellschaftskritik
  16. Will You Be Mine: #Love
  17. Arbeitsheft
  18. And Thanks for Your Meat: #AntiFactoryFarming #AnimalRights #MeatIndustry


© The Monkey Dance on Spotify, YouTube, Amazon, MOOCit, Deezer, ...



Text bearbeiten Bild einfügen Video einbetten Interaktive Aufgaben erstellen

Teilen Facebook Twitter Google Mail an MOOCit Missbrauch melden Zertifikat beantragen


0.00
(0 Stimmen)











Children for a better world >> Förderung der AI Fair-Image Challenge

Fair-Image wird von CHILDREN JUGEND HILFT! gefördert und ist mit der deutschlandweiten AI Fair-Image Challenge SIEGERPROJEKT 2025. Alle Infos zur Challenge hier >>. Infos zum Camp25 gibt es hier. Wenn auch Ihr Euch ehrenamtlich engagiert und noch finanzielle Unterstützung für Eurer Projekt braucht, dann stellt gerne einen Antrag bei JUGEND HILFT.