如何使用phpStorm重構你的程式碼

(*-*)浩
發布: 2020-01-13 15:53:11
原創
4920 人瀏覽過

如何使用phpStorm重構你的程式碼

重構程式碼是建置和維護軟體的重要面向。

手動重構程式碼時,無論您是使用舊程式碼還是建立新程式碼,都很容易出錯,例如在重新命名方法時忘記使用程式碼的地方。這就是為什麼我喜歡定期使用PhpStorm的重構功能的原因。 (建議學習:phpstorm

#如果這是您第一次聽到這個術語,那麼Martin Fowler會將重構描述為:

重构是一种用于改进现有代码库设计的受控技术。它的本质是应用一系列小的行为保留转换,每个转换“都太小,不值得做 ”。但是,每个转换的累积效果都非常显着。通过分步进行,可以降低引入错误的风险。您还可以避免在进行重组时损坏系统,这使您可以在较长的时间内逐步重构系统。
登入後複製

重構涵蓋了一系列不同的技術,包括移動,提取,複製,刪除和重新命名。這些內容涵蓋了您可能會不斷對程式碼進行的所有類型的變更。

很高興,PhpStorm的重構功能(包含在核心軟體包中)支援所有這些功能。在本教程中,我將逐步介紹其中的一些。特別:

將程式碼提取到新方法

重新命名功能

更改功能的簽章

將程式碼提取為新方法

將程式碼提取到新方法是重構,我的工作比大多數(也許其他任何事情)都要多。我無法數出遇到長函數的次數,可以將長函數分解為一系列更小,更可重複使用,更可測試的函數來更好地組織它們。

以下面的函數為例。

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'];
}
登入後複製

儘管很小,但對於此範例而言已足夠。假設該函數末尾的五行是該類別其他部分所需要的,或者可以在單獨的函數中更好地使用。

我們要做的是將它們提取到一個單獨的方法中。為此,我們首先突出顯示要提取的行,然後按一下「重構->提取->方法」。這將顯示“提取方法”對話框,您可以在下面看到該對話框,並預先填充了一組預設選項。

如何使用phpStorm重構你的程式碼我們要做的最少工作是為方法填入一個名稱。其餘選項可以保留,因為它們是一組很好的預設值。但是,我還做了另一件事,那就是為唯一的參數指定類型提示

$data
登入後複製

這樣,功能就更加清晰了,並且生成的PhpDoc區塊也將包含該資訊。點擊“重構”既可以產生新方法,也可以用對其的呼叫替換突出顯示的程式碼,您可以在下面看到。

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);
}
登入後複製

以上是如何使用phpStorm重構你的程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板