Change Signature重构
Change Signature重构
使用Change Signature(更改签名)重构更改函数名称,添加,删除,重新排序和重命名参数,以及通过调用层次结构传播新参数。
以下示例显示了运行Change Signature重构的不同方法。在所有情况下,函数result()都重命名为generate_result(),并且向此函数添加了一个新参数input。这些示例显示了函数调用,调用函数(show_result())和其他代码片段如何受到影响,具体取决于重构设置。
示例1:重命名函数,添加参数,并通过函数调用传递其值
在此示例中,函数result()重命名为generate_result(),添加参数input,并将值100作为函数调用中的参数传递。
|
|
示例2:重命名函数并添加默认参数
在此示例中,函数result()重命名为generate_result()。随值100添加默认参数input。新参数以ES6语言级别的function generate_result(input = 100) {}格式或ES5的input = input || 100格式在generate_result()中进行初始化。
|
|
示例3:重命名函数,添加默认参数,并将参数传播到函数调用
在此示例中,函数result()重命名为generate_result()。随值100添加默认参数input。新参数以ES6语言级别的“function generate_result(input = 100) {}”格式或 ES5的“input = input || 100”格式在generate_result()中进行初始化。该input参数通过调用函数show_result()传播,因此函数调用会相应更改。
|
|
调用Change Signature
- 在编辑器中,将光标放在要重构的函数名称中,然后按Ctrl+F6,或在上下文菜单或主菜单上选择:Refactor|更改签名。“更改签名”对话框将打开。
重命名函数
- 在“更改签名”对话框(Ctrl+F6)中,编辑“名称”字段。
管理函数参数
- 在“更改签名”对话框(Ctrl+F6)中,使用参数表和右侧的按钮:
- 要添加新参数,请单击 (Alt+Insert)并指定新参数的名称及其默认值或要通过函数调用传递的值。
- 要删除参数,请单击相应行中的任何单元格,然后单击 (Alt+Delete)。
- 要重新排序参数,请使用 (Alt+Up)和 (Alt+Down)。
- 要重命名参数,请编辑“名称”字段。
- 如有必要, 将新参数传播到调用当前函数的函数。
沿调用层次传播参数
- 在“更改签名”对话框 (Ctrl+F6)中,选择参数并单击。将打开“选择传播新参数的方法”对话框。左侧窗格显示函数调用的层次结构。当您选择一个函数时,右侧窗格将分别显示其代码以及它在Caller Method和Callee Method字段中调用的函数的代码。
- 在左侧窗格中,选中要传播参数的函数旁边的复选框,然后单击“确定”。
预览更改并完成重构
- 在“更改签名”对话框(Ctrl+F6)中,单击“预览”。
- 在“查找”工具窗口的“重构预览”选项卡中 , 查看预期的更改,进行必要的调整,然后在准备好后单击“执行重构”。