IntelliJ IDEA重構(gòu):安全刪除

2018-11-13 10:38 更新

安全刪除重構(gòu)也可從 UML 類圖中獲得

IntelliJ IDEA 安全刪除重構(gòu)可讓您安全地從源代碼中刪除文件和符號。

為了確保刪除是安全的,IntelliJ IDEA 會查找被刪除的符號的用法。如果找到這種用法,則可以在符號被刪除之前探索它們并在代碼中進行必要的更正。

執(zhí)行重構(gòu)

  1. 選擇要刪除的項目。
  2. 執(zhí)行下列操作之一:按 Alt+Delete。從主菜單或上下文菜單中選擇:重構(gòu)|安全刪除。從主菜單選擇:重構(gòu)| 重構(gòu)此選項(Ctrl+Shift+Alt+T),然后選擇安全刪除。
  3. 在 "安全刪除" 對話框中,選擇必要的選項,然后單擊 "確定"。
  4. 如果重構(gòu)可能是不安全的,則會打開 "檢測到的使用實例" 對話框。查看使用情況。點擊這個按鈕來查看你的代碼中你將要刪除的項目在哪里。結(jié)果, "查找工具" 窗口隨即打開。分析您的代碼并進行必要的更正。然后單擊 "執(zhí)行重構(gòu)"。(如果您想從頭開始重新運行重構(gòu),請單擊 "重新運行安全刪除"。IntelliJ IDEA 會再次檢查重構(gòu)是否安全。)無論如何都要刪除。單擊此按鈕可刪除該項目,而不必查看其用途。

調(diào)用層次結(jié)構(gòu)的安全刪除參數(shù)重構(gòu)

如果參數(shù)僅通過調(diào)用層次結(jié)構(gòu)傳遞, 并且不在該層次結(jié)構(gòu)之外的任何地方使用, 則 "安全刪除重構(gòu)" 允許您沿層次結(jié)構(gòu)傳播參數(shù)刪除。

安全刪除重構(gòu)示例

重構(gòu)前:

class CallHierarchySample {
    private void foo(int i) { bar(i);}
    private void bar(int i) { baz(i);}
    private void baz(int i) { }
}

重構(gòu)后:

class CallHierarchySample {
    private void foo() { bar();}
    private void bar() { baz();}
    private void baz() { }
}

在這個例子中,對 baz (int i) 中的 i 參數(shù)執(zhí)行了重構(gòu)。此更改已傳播到所有調(diào)用方法。

執(zhí)行重構(gòu)時, 將顯示用于傳播參數(shù)刪除對話框的 Select 方法。這個對話框讓你選擇參數(shù)應(yīng)該被刪除的調(diào)用方法。

IntelliJ IDEA

對調(diào)用層次結(jié)構(gòu)中的方法的安全刪除重構(gòu)

當您對某個方法執(zhí)行安全刪除重構(gòu)時,IntelliJ IDEA 會分析相應(yīng)的調(diào)用層次結(jié)構(gòu),查找可能變得不可用的方法,并建議您也刪除這些方法。

示例

重構(gòu)前:

class CallHierarchySample {
    private void foo(int i) { bar(i);}
    private void bar(int i) { baz(i);}
    private void baz(int i) { }
}

重構(gòu)后:

class CallHierarchySample {



}

在這個例子中,重構(gòu)是在該 foo(int i) 方法上執(zhí)行的。調(diào)用層次結(jié)構(gòu)中所有下面的方法都被選中刪除。

執(zhí)行重構(gòu)時, 將顯示 "選擇方法來層疊安全刪除" 對話框。這個對話框讓你選擇要刪除的方法。

IntelliJ IDEA
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號