Code unter Erhalt des Verhaltens refaktorieren.
Refactoring sollte beobachtbares Verhalten erhalten, sofern keine Änderung ausdrücklich gewünscht ist. Bestimme Tests oder Beispiele, die unbeabsichtigte Unterschiede erkennen können.
Passe den Ablauf an deine Aufgabe an.
Definiere unveränderliches Verhalten und die zu behandelnde Duplizierung oder Komplexität. Nimm eine begrenzte strukturelle Änderung vor und vergleiche bekannte Fälle, Fehler und Nebenwirkungen mit dem Original.
- Was du bereitstellst
- Code und gewünschte strukturelle Änderung.
- Was du erhältst
- Refactoring-Entwurf mit Erhalt des beabsichtigten Verhaltens.
Sieh dir Eingabe und Ergebnis an.
Beispielhafte Ein- und Ausgabe · ein Lehrbeispiel, kein tatsächlicher WebAct-Durchlauf
Beispiel Eingabe
Refactor this Python function without changing its result or empty-name error:
def label(name, loud):
if loud:
if not name:
raise ValueError("name required")
return name.upper()
if not name:
raise ValueError("name required")
return name.lower()Vollständiges Beispiel
def label(name, loud):
if not name:
raise ValueError("name required")
return name.upper() if loud else name.lower()
Checks: label("Ada", True) → "ADA"; label("Ada", False) → "ada". An empty string raises ValueError("name required") in both modes.Lade diese Eingabe in den Prompt und kopiere ihn zum Ausprobieren nach WebAct. Dein Ergebnis kann vom Beispiel abweichen.
Entscheidungen und Fehlerbehebung.
Darf Refactoring Fehlerverhalten absichtlich ändern?
Nur wenn diese Verhaltensänderung Teil des Auftrags ist. Erhalte es sonst oder behandle es als ausdrückliche Folgeentscheidung.
Warum ändert das Extrahieren gemeinsamen Codes das Ergebnis eines Zweigs?
Prüfe Ausführungsreihenfolge, Zustand und zweigspezifische Bedingungen. Ähnlicher Code kann unter unterschiedlichen Annahmen arbeiten.
Probiere es mit deiner eigenen Quelle.
Ersetze das Beispiel im Aufgaben-Prompt durch dein Material. Behalte nötige Anforderungen bei und kopiere die Aufgabe nach WebAct.
Aufgabe anpassen und kopieren ↑