Change Signature重构
编辑教程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)。 | |
要重命名参数,请编辑“名称”字段。 | |
如有必要, 将新参数传播到调用当前函数的函数。 |
沿调用层次传播参数
在“更改签名”对话框 (Ctrl+F6)中,选择参数并单击propagateParameters。将打开“选择传播新参数的方法”对话框。左侧窗格显示函数调用的层次结构。当您选择一个函数时,右侧窗格将分别显示其代码以及它在Caller Method和Callee Method字段中调用的函数的代码。
在左侧窗格中,选中要传播参数的函数旁边的复选框,然后单击“确定”。
预览更改并完成重构
在“更改签名”对话框(Ctrl+F6)中,单击“预览”。
在“查找”工具窗口的“重构预览”选项卡中 , 查看预期的更改,进行必要的调整,然后在准备好后单击“执行重构”。

选择支付方式:



备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间