codecamp

在Groovy中提取参数

在Groovy中提取参数

本节讨论Groovy的Extract参数(提取参数)重构。通过此重构,您可以执行以下操作:

  • 从方法中的选定表达式创建新的方法参数。该方法的所有用法都将自动更新。
  • 将参数添加到闭包。如果存在与闭包相关联的变量,则对该变量的调用将替换为相应的表达式。

使用示例

使用示例一:

重构前:

class Cat {
  Cat cat = new Cat()
    def makePestOfItself(){
        print ("miaou!!!!!!!!")
  }
    def makeTroubles(){
        if (makePest){
        makePestOfItself()
    }
  }
}

重构之后:

class Cat {
  Cat cat = new Cat()
  def makePestOfItself(String warning){
    print (warning)
  }
  def makeTroubles(){
    if (makePest){
      makePestOfItself("miaou!!!!!!!!")
    }
  }
}

使用示例二:

使用重构前:

class Bar {
 def foo = {
    print 'H<caret here>ello, world!'
  }
}

new Bar().foo()
new Bar().foo.call()

使用重构后:

class Bar {
  def foo = { String s ->
    print s
  }
}

new Bar().foo('Hello, world!')
new Bar().foo.call('Hello, world!')

在Groovy中提取参数的操作步骤如下所示:

  1. 在编辑器中,将光标放在要由参数替换的表达式中。
  2. 执行以下操作之一:
    • 按Ctrl+Alt+P。
    • 在主菜单上选择:Refactor|提取|参数(Refactor | Extract | Parameter)。
    • 在上下文菜单中选择:Refactor|提取|参数(Refactor | Extract | Parameter)。
  3. 在“提取参数(Extract Parameter)”对话框中:
    1. 在“名称(Name)”字段中指定参数名称。
    2. 选择参数类型,并指定是否要声明新参数final,并创建重载方法。
    3. 单击“确定(OK)”。
Groovy使用列表和映射
在Groovy中提取方法
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }