在Groovy中提取方法

2018-07-26 10:23 更新

在Groovy中提取方法

本節(jié)討論Groovy中的Extract Method(提取方法)重構(gòu)。

通過(guò)此重構(gòu),您可以執(zhí)行以下操作:

  • 提取變量的方法。
  • 提取變量列表的方法。
  • 提取一個(gè)或多個(gè)語(yǔ)句的方法。

使用示例

示例一:

重構(gòu)前:

iii = 6
int kkk = 5
def vv = 6
def gg = 7

println (kkk + iii + (vv +gg))

重構(gòu)后:

iii = 6
int kkk = 5
def vv = 6
def gg = 7

println(kkk + iii + testMethod(vv, gg))

private int testMethod(int vv, int gg) {
return vv + gg
}

示例二:

重構(gòu)前:

def a = 5

重構(gòu)后:

def a = 5

thod(a)

stMethod(int a) {

示例三:

重構(gòu)前:

static def foo (int i, int j, int k){
def v
println(i + j - k)
v = 42

if (i > 42) {
println("hello!")
} else {
return v + j
}
return 239
}

重構(gòu)后:

static def foo(int i, int j, int k) {
def v
println(i + j - k)
v = 42
return testMethod(i, v, j)
}

private static int testMethod(int i, int v, int j) {
if (i > 42) {
println("hello!")
} else {
return v + j
}
return 239
}

在Groovy中提取方法的詳細(xì)操作步驟如下所示:

提示:形成方法的代碼片段不一定必須是一組語(yǔ)句。它也可能是代碼中某處使用的表達(dá)式。

  1. 在編輯器中,選擇要轉(zhuǎn)換為方法或函數(shù)的代碼塊。
  2. 在主菜單或選擇的上下文菜單上,選擇:Refactor |提取|方法(Refactor | Extract | Method)或按Ctrl+Alt+M。
  3. 在打開(kāi)的“提取方法(Extract Method)”對(duì)話框中,指定新方法的名稱。
  4. 要顯式返回?cái)?shù)據(jù)類型的值,請(qǐng)選中“顯式指定返回類型(Specify return type explicitly)”復(fù)選框。
  5. 要返回關(guān)鍵字,請(qǐng)選中“使用顯式返回語(yǔ)句(Use explicit return statement)”復(fù)選框。
  6. 在“參數(shù)(Parameters)”區(qū)域中,執(zhí)行以下操作:
    • 通過(guò)選擇/清除相應(yīng)的復(fù)選框,指定要作為方法參數(shù)傳遞的變量;如果禁用某個(gè)參數(shù),則將在提取的方法中創(chuàng)建具有初始值的相應(yīng)類型的局部變量,因此您必須手動(dòng)輸入具有適當(dāng)值的初始值設(shè)定項(xiàng)。
    • 通過(guò)雙擊相應(yīng)的參數(shù)行并輸入新名稱來(lái)重命名所需的參數(shù)。
  7. 在“簽名預(yù)覽(Signature Preview)”窗格中檢查結(jié)果,然后單擊“確定(OK)” 以創(chuàng)建方法。選定的代碼片段將替換為方法調(diào)用。此外,IntelliJ IDEA將建議替換當(dāng)前類中找到的任何類似代碼片段。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)