PyCharm-Code-Refactoring

Code-Refactoring ist der Prozess der Optimierung der internen Struktur von Code, ohne sein externes Verhalten zu ändern.

Der Zweck von Refactoring besteht darin, die Lesbarkeit, Wartbarkeit und Erweiterbarkeit von Code zu verbessern, anstatt neue Funktionen hinzuzufügen oder Fehler zu beheben.

PyCharm bietet Python-Entwicklern eine leistungsstarke und sichere Sammlung automatisierter Refactoring-Werkzeuge, die Refactoring effizient und weniger fehleranfällig machen.


Kurzer Überblick über gängige Refactoring-Operationen

Nachfolgend finden Sie eine Vergleichstabelle der am häufigsten verwendeten Refactoring-Operationen und ihrer Tastenkürzel in PyCharm.

Refactoring-Operation Tastenkürzel Beschreibung
Umbenennen Shift + F6 Symbole wie Variablen, Funktionen, Klassen und Dateien umbenennen und dabei automatisch alle Referenzen aktualisieren
Variable extrahieren Ctrl + Alt + V Den ausgewählten Ausdruck in eine Variable extrahieren
Methode extrahieren Ctrl + Alt + M Den ausgewählten Codeblock in eine separate Methode oder Funktion extrahieren
Konstante extrahieren Ctrl + Alt + C Das ausgewählte Literal in eine Konstante extrahieren
Inline Ctrl + Alt + N Variablen, Methoden oder Konstanten inline erweitern, um unnötige Zwischenschichten zu beseitigen
Signatur ändern Ctrl + F6 Die Signatur einer Funktion oder Methode ändern, einschließlich Parameternamen, Typen, Standardwerten und Reihenfolge

Die oben genannten Tastenkürzel basieren auf den Standardtastenbelegungen für Windows/Linux. macOS-Benutzer sollten Ctrl durch Command und Alt durch Option ersetzen.


Praxis: Variablen umbenennen

Umbenennen ist die häufigste Refactoring-Operation. Nachfolgend wird ein vollständiger Umbenennungs-Workflow anhand eines konkreten Beispiels gezeigt.

Angenommen, wir haben ein Stück Code, das die Geschwindigkeit eines Objekts berechnet, wobei der Variablennamespeednicht präzise genug ist und invelocity geändert werden muss。

Ursprünglicher Code vor dem Refactoring

Beispiel

# Ursprünglicher Code: Der Variablenname 'speed' ist semantisch nicht präzise genug
def calculate_motion(distance, time):
    speed = distance / time  # 'speed' tendiert eher zu Rate, während 'velocity' die Vektorgeschwindigkeit betont
    return speed

result = calculate_motion(100, 10)
print(result)

Schritte

  1. Platzieren Sie den Cursor auf dem Variablennamenspeed.
  2. Drücken Sie die TastenkombinationShift + F6, dann hebt PyCharm alle Verweise auf die Variable hervor.
  3. Geben Sie direkt den neuen Namenvelocityein, PyCharm zeigt alle zu ändernden Stellen in Echtzeit als Vorschau an.
  4. Drücken SieEnterzum Bestätigen, und alle Referenzen werden synchron aktualisiert.

Alternativ können Sie doppelklicken, um die Variable auszuwählen, dann mit der rechten Maustaste klicken, im Pop-up-Menü Refactor wählen und anschließend Rename:

Rename im Pop-up-Fenster:

Refaktorierter Code

Beispiel

# Refaktorierter Code: Der Variablenname 'velocity' drückt die Bedeutung der Vektorgeschwindigkeit präziser aus
def calculate_motion(distance, time):
    velocity = distance / time  # Der Variablenname wurde von 'speed' zu 'velocity' umbenannt
    return velocity

result = calculate_motion(100, 10)
print(result)
[/mycode4]

PyCharms Rename-Refactoring sucht im gesamten Projekt nach Referenzen, einschließlich Referenzen in Kommentaren und Zeichenketten, und stellt sicher, dass nichts übersehen wird.


Mit einem Klick das Refactoring-Menü aufrufen

Wenn Sie sich die Tastenkürzel für verschiedene Refactoring-Operationen nicht merken können, können Sie das universelle TastenkürzelCtrl + Alt + Shift + T(unter macOS:Command + Option + Shift + T) verwenden, um das Refactoring-Menü aufzurufen.

Dieses Menü listet alle Refactoring-Operationen auf, die an der aktuellen Cursorposition verfügbar sind; Sie müssen lediglich aus dem Menü auswählen.

Dieser Ansatz eignet sich für selten verwendete Refactoring-Operationen oder als Übergangslösung für Anfänger.


Vorschau-Funktion vor dem Refactoring

Bevor Sie ein Refactoring ausführen, bietet PyCharm eineVorschau-Funktion, mit der Sie den Auswirkungsbereich des Refactorings vor der Bestätigung vollständig verstehen können.

Wenn Sie die Tastenkombination für das Refactoring drücken, zeigt PyCharm ein Dialogfeld mit einerVorschau-Schaltfläche an.

Klicken Sie auf die Vorschau-Schaltfläche, und PyCharm öffnet unten ein Vergleichsfenster, mit dem Originalcode auf der linken und dem geänderten Code auf der rechten Seite.

Sie können jede Änderung einzeln überprüfen, entscheiden, ob Sie sie behalten oder überspringen möchten, und nachdem Sie bestätigt haben, dass alles korrekt ist, aufRefactoring durchführenklicken, um das Refactoring auszuführen.

Es wird dringend empfohlen, die Vorschau-Funktion beim Refactoring großer Projekte oder Kernmodule zu verwenden, um Fehler durch unbeabsichtigte Änderungen zu vermeiden.


Überlegungen zum Refactoring

Obwohl die Refactoring-Tools von PyCharm sehr zuverlässig sind, sollten Sie beim Refactoring dennoch auf die folgenden Punkte achten.

  • Stellen Sie vor dem Refactoring sicher, dass der Code in einem Versionskontrollsystem committet wurde, damit Sie zurückrollen können, falls etwas Unerwartetes passiert.
  • Führen Sie nach dem Refactoring sofort die vorhandenen Unit-Tests aus, um sicherzustellen, dass sich das Verhalten nicht geändert hat.
  • Führen Sie jeweils nur eine Art von Refactoring durch, um Verwirrung durch zu viele gleichzeitige Änderungen zu vermeiden.
  • Wenn das Refactoring eine öffentliche API betrifft, stellen Sie sicher, dass alle Aufrufer in den Umfang des Refactorings einbezogen werden.

Meistern Sie diese Refactoring-Techniken und Ihr Code bleibt immer sauber, klar und einfach zu warten.

Andere Erweiterungen