Informatik Softwareentwicklung – Refactoring-Techniken
Karteikarten zum Thema „Informatik“ · 14 Karten · von atrio. Beispiele: Was ist Refactoring in der Softwareentwicklung? · Was bezeichnet der Begriff Code Smell?
Karten
14 KartenWas ist Refactoring in der Softwareentwicklung?
Rückseite
Refactoring ist die strukturierte Umstrukturierung von Code ohne Änderung des äußeren Verhaltens, um Lesbarkeit, Wartbarkeit und Erweiterbarkeit zu verbessern.
Was bezeichnet der Begriff Code Smell?
Rückseite
Ein Code Smell ist ein oberflächliches Anzeichen für tieferliegende Probleme im Code, wie duplizierte Logik, zu lange Methoden oder übermäßige Kopplung zwischen Klassen.
Wann wendet man die Technik Extract Method an?
Rückseite
Wenn ein Code-Fragment logisch zusammengehört, wiederverwendet werden soll oder eine Methode zu lang wird – man extrahiert es in eine eigene, sprechend benannte Methode.
Was bewirkt Extract Class bei einer zu großen Klasse?
Rückseite
Extract Class teilt eine Klasse mit zu vielen Verantwortlichkeiten in zwei Klassen auf, wobei die neue Klasse einen zusammenhängenden Teil der Daten und Methoden übernimmt.
Welchen Zweck hat Rename Method bei der Refaktorisierung?
Rückseite
Rename Method ändert den Methodennamen so, dass er die Absicht der Methode präzise beschreibt – dies erhöht die Lesbarkeit ohne funktionale Änderung.
Wann ist Move Method die richtige Refactoring-Technik?
Rückseite
Wenn eine Methode mehr Features einer anderen Klasse nutzt als ihrer eigenen – man verschiebt sie dorthin, wo sie am meisten verwendet wird.
Was bedeutet Replace Temp with Query?
Rückseite
Eine temporäre Variable, die das Ergebnis eines Ausdrucks hält, wird durch eine Methode ersetzt, die den Ausdruck berechnet – dies ermöglicht Wiederverwendung und einfachere Extraktion.
Wozu dient Introduce Parameter Object?
Rückseite
Mehrere Parameter, die immer zusammen übergeben werden, werden zu einem eigenen Objekt gebündelt – das reduziert Parameterlisten und schafft kohärente Datenstrukturen.
Wie funktioniert Replace Conditional with Polymorphism?
Rückseite
Ein komplexer konditionaler Block wird durch Vererbung ersetzt: Jeder Zweig wird zu einer Unterklasse mit eigener Implementierung, der Aufruf erfolgt polymorph über eine gemeinsame Schnittstelle.
Was bewirkt Replace Magic Number with Symbolic Constant?
Rückseite
Zahlenliterale mit besonderer Bedeutung erhalten einen sprechenden Konstantennamen – das dokumentiert die Absicht und erleichtert spätere Änderungen an zentraler Stelle.
Wann wendet man Pull Up Method und Push Down Method an?
Rückseite
Pull Up Method verschiebt identische Methoden von Unterklassen in die Superklasse; Push Down Method verschiebt eine Superklassen-Methode nur in die Unterklassen, die sie tatsächlich benötigen.
Was ist der Zweck von Replace Inheritance with Delegation?
Rückseite
Wenn eine Klasse nur einen Teil der Superklasse nutzt oder die Hierarchie brüchig wird, ersetzt man Vererbung durch Komposition: Die Klasse hält eine Instanz der ehemaligen Superklasse und delegiert Aufrufe.
Nach welcher Regel sollte man Refactoring durchführen (Rule of Three)?
Rückseite
Beim ersten Mal Code schreiben, beim zweiten Mal duplizieren tolerieren, beim dritten Mal refaktorisieren – so vermeidet man verfrühte Abstraktionen und echte Duplikation.
Warum sind automatisierte Tests Voraussetzung für sicheres Refactoring?
Rückseite
Tests stellen sicher, dass das Verhalten nach jeder Code-Änderung erhalten bleibt – ohne Tests ist Refactoring riskant, da Regressionen unbemerkt bleiben würden.