有没有办法在 Visual Studio 中执行与“提取方法”重构相反的操作?
我有一个遗留代码库,它有大约 50 个非常短的私有函数,每个函数只使用一次,我的任务是内联它们。
如果无法进行自动内联重构,是否可以减少内联这些函数调用所需的时间?我目前的工作流程是:
- 复制函数中的代码。
- 找到它被调用的地方。
- 用复制的代码替换函数调用。
- 替换函数中的局部变量名称。
- 删除函数。
有没有办法在 Visual Studio 中执行与“提取方法”重构相反的操作?
我有一个遗留代码库,它有大约 50 个非常短的私有函数,每个函数只使用一次,我的任务是内联它们。
如果无法进行自动内联重构,是否可以减少内联这些函数调用所需的时间?我目前的工作流程是:
您正在寻找的重构称为"Inline Method"
.
虽然 Visual Studio 不提供开箱即用的重构,但您可以通过安装适用于 Visual Studio 的Jetbrains ReSharper扩展来访问它(以及许多其他有用的重构)。
安装扩展后,您需要做的就是单击方法声明或方法调用,然后调用“内联方法”重构。这将自动内联所有出现的方法并将其删除。
您可以考虑将这些函数收集到一个头文件中并用inline
. 我意识到这并不完全是您所问问题的答案,但可能是您问题的更好解决方案,因为这样编译器将执行内联(如果它认为合适)。
这取决于情况,但保留函数定义可能会导致代码更清晰,因此即使只调用一次也可能有价值。
这也比手动“内联方法”重构更快,更不容易出错。