Heim  >  Artikel  >  Entwicklungswerkzeuge  >  So überarbeiten Sie Ihren Code mit phpStorm

So überarbeiten Sie Ihren Code mit phpStorm

(*-*)浩
(*-*)浩Original
2020-01-13 15:53:114894Durchsuche

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 So überarbeiten Sie Ihren Code mit phpStorm

$data

fü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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn