91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用phpStorm重構你的代碼

發布時間:2020-12-19 10:11:19 來源:億速云 閱讀:240 作者:小新 欄目:軟件技術

小編給大家分享一下怎么使用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重構你的代碼”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐平市| 米易县| 武安市| 普兰县| 贵德县| 克山县| 漠河县| 桓台县| 繁昌县| 奉化市| 阳曲县| 二手房| 叙永县| 文登市| 武川县| 静宁县| 宁都县| 甘肃省| 彝良县| 大余县| 庄浪县| 巴彦县| 连州市| 台中市| 磐安县| 平塘县| 时尚| 鄂尔多斯市| 无棣县| 南充市| 闸北区| 邵东县| 南丹县| 竹溪县| 邻水| 阆中市| 新龙县| 广水市| 聊城市| 顺昌县| 本溪|