阅读(3121) (9)

Change Signature重构

2018-10-23 10:46:26 更新

Change Signature重构

使用Change Signature(更改签名)重构更改函数名称,添加,删除,重新排序和重命名参数,以及通过调用层次结构传播新参数。

以下示例显示了运行Change Signature重构的不同方法。在所有情况下,函数result()都重命名为generate_result(),并且向此函数添加了一个新参数input。这些示例显示了函数调用,调用函数(show_result())和其他代码片段如何受到影响,具体取决于重构设置。

示例1:重命名函数,添加参数,并通过函数调用传递其值

在此示例中,函数result()重命名为generate_result(),添加参数input,并将值100作为函数调用中的参数传递。

function result() {
}

function show_result() {
    alert('Result: ' + result());
}
function generate_result(input) {
}

function show_result() {
    alert('Result: ' + generate_result(100));
}

示例2:重命名函数并添加默认参数

在此示例中,函数result()重命名为generate_result()。随值100添加默认参数input。新参数以ES6语言级别的function generate_result(input = 100) {}格式或ES5的input = input || 100格式在generate_result()中进行初始化。 

function result() {
}

function show_result() {
    alert('Result: ' + result());
}
function generate_result(input = 100) {
}

function show_result() {

    alert('Result: ' + generate_result());
}

示例3:重命名函数,添加默认参数,并将参数传播到函数调用

在此示例中,函数result()重命名为generate_result()。随值100添加默认参数input。新参数以ES6语言级别的“function generate_result(input = 100) {}”格式或 ES5的“input = input || 100”格式在generate_result()中进行初始化。该input参数通过调用函数show_result()传播,因此函数调用会相应更改。

function result() {
}

function show_result() {
    alert('Result: ' + result());
}
function generate_result(input = 100) {
}

function show_result() {

    alert('Result: ' + generate_result());
}

调用Change Signature

  • 在编辑器中,将光标放在要重构的函数名称中,然后按Ctrl+F6,或在上下文菜单或主菜单上选择:Refactor|更改签名。“更改签名”对话框将打开。

重命名函数

  • 在“更改签名”对话框(Ctrl+F6)中,编辑“名称”字段。

管理函数参数

  • 在“更改签名”对话框(Ctrl+F6)中,使用参数表和右侧的按钮:
    • 要添加新参数,请单击图标一般添加svg (Alt+Insert)并指定新参数的名称及其默认值或要通过函数调用传递的值。
    • 要删除参数,请单击相应行中的任何单元格,然后单击图标一般删除svg (Alt+Delete)。
    • 要重新排序参数,请使用图标动作previousOccurence svg (Alt+Up)和 图标动作nextOccurence svg (Alt+Down)。
    • 要重命名参数,请编辑“名称”字段。
    • 如有必要, 将新参数传播到调用当前函数的函数。

沿调用层次传播参数

  1. 在“更改签名”对话框 (Ctrl+F6)中,选择参数并单击propagateParameters。将打开“选择传播新参数的方法”对话框。左侧窗格显示函数调用的层次结构。当您选择一个函数时,右侧窗格将分别显示其代码以及它在Caller Method和Callee Method字段中调用的函数的代码。
  2. 在左侧窗格中,选中要传播参数的函数旁边的复选框,然后单击“确定”。

预览更改并完成重构

  1. 在“更改签名”对话框(Ctrl+F6)中,单击“预览”。
  2. 在“查找”工具窗口的“重构预览”选项卡中 , 查看预期的更改,进行必要的调整,然后在准备好后单击“执行重构”。