Heim > Artikel > Entwicklungswerkzeuge > So überarbeiten Sie Ihren Code mit phpStorm
Refactoring von Code ist ein wichtiger Aspekt beim Erstellen und Warten von Software.
Wenn Sie Code manuell umgestalten, können Sie leicht Fehler machen, egal ob Sie alten Code verwenden oder neuen Code erstellen, z. B. vergessen, beim Umbenennen einer Methode Code zu verwenden. Aus diesem Grund nutze ich regelmäßig gerne die Refactoring-Funktion von PhpStorm. (Empfohlenes Lernen: phpstorm)
Wenn Sie den Begriff zum ersten Mal hören, beschreibt Martin Fowler Refactoring als:
重构是一种用于改进现有代码库设计的受控技术。它的本质是应用一系列小的行为保留转换,每个转换“都太小,不值得做 ”。但是,每个转换的累积效果都非常显着。通过分步进行,可以降低引入错误的风险。您还可以避免在进行重组时损坏系统,这使您可以在较长的时间内逐步重构系统。
Refactoring umfasst eine Reihe verschiedener Techniken, darunter Verschieben, Extrahieren, Kopieren, Löschen und Umbenennen. Diese decken alle Arten von Änderungen ab, die Sie im Laufe der Zeit an Ihrem Code vornehmen könnten.
Glücklicherweise unterstützt die Refactoring-Funktion von PhpStorm (im Kernpaket enthalten) alle diese Funktionen. In diesem Tutorial werde ich einige davon Schritt für Schritt durchgehen. Spezial:
Code in neue Methode extrahieren
Funktion umbenennen
Signatur der Funktion ändern
Code in neue Methode Methode
Das Extrahieren von Code in eine neue Methode ist ein Refactoring, das für mich mehr funktioniert als die meisten (und vielleicht alles andere). Ich kann nicht zählen, wie oft ich auf lange Funktionen gestoßen bin, die besser organisiert werden könnten, indem man sie in eine Reihe kleinerer, wiederverwendbarer und besser testbarer Funktionen aufteilt. Nehmen Sie die folgende Funktion als Beispiel.public function populate($data) { if (is_array($data) && empty($data)) { throw new HydrationException(); } $this->id = $data['id']; $this->userId = $data['userId']; $this->entry = $data['entry']; $this->created = $data['created']; $this->updated = $data['updated']; }Obwohl klein, reicht es für dieses Beispiel. Nehmen wir an, die fünf Zeilen am Ende der Funktion werden von anderen Teilen der Klasse benötigt oder können besser in einer separaten Funktion verwendet werden. Wir wollen sie in eine separate Methode extrahieren. Dazu markieren wir zunächst die Zeile, die wir extrahieren möchten und klicken auf „Refactor->Extract->Method“. Daraufhin wird das Dialogfeld „Extraktionsmethode“ angezeigt, das Sie unten sehen können und das bereits mit einer Reihe von Standardoptionen gefüllt ist.
Das Mindeste, was wir tun müssen, ist, einen Namen für die Methode einzugeben. Die übrigen Optionen können beibehalten werden, da es sich dabei um gute Standardeinstellungen handelt. Allerdings habe ich noch etwas anderes getan, nämlich einen Typhinweis
$datafür den einzigen Parameter anzugeben. Auf diese Weise ist die Funktionalität klarer und der generierte PhpDoc-Block enthält auch diese Informationen. Durch Klicken auf „Refactor“ kann sowohl eine neue Methode generiert als auch der hervorgehobene Code durch einen Aufruf ersetzt werden, den Sie unten sehen können.
public function populate($data) { if (is_array($data) && empty($data)) { throw new HydrationException(); } $this->hydrateMemberVariables($data); } ///...intervening code public function populate($data) { if (is_array($data) && empty($data)) { throw new HydrationException(); } $this->hydrateMemberVariables($data); }
Das obige ist der detaillierte Inhalt vonSo überarbeiten Sie Ihren Code mit phpStorm. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!