5

有没有办法在 Visual Studio 中执行与“提取方法”重构相反的操作?

我有一个遗留代码库,它有大约 50 个非常短的私有函数,每个函数只使用一次,我的任务是内联它们。

如果无法进行自动内联重构,是否可以减少内联这些函数调用所需的时间?我目前的工作流程是:

  • 复制函数中的代码。
  • 找到它被调用的地方。
  • 用复制的代码替换函数调用。
  • 替换函数中的局部变量名称。
  • 删除函数。
4

2 回答 2

8

您正在寻找的重构称为"Inline Method".

虽然 Visual Studio 不提供开箱即用的重构,但您可以通过安装适用于 Visual Studio 的Jetbrains ReSharper扩展来访问它(以及许多其他有用的重构)。

安装扩展后,您需要做的就是单击方法声明或方法调用,然后调用“内联方法”重构。这将自动内联所有出现的方法并将其删除。

于 2014-09-05T04:39:30.003 回答
-1

您可以考虑将这些函数收集到一个头文件中并用inline. 我意识到这并不完全是您所问问题的答案,但可能是您问题的更好解决方案,因为这样编译器将执行内联(如果它认为合适)。

这取决于情况,但保留函数定义可能会导致代码更清晰,因此即使只调用一次也可能有价值。

这也比手动“内联方法”重构更快,更不容易出错。

于 2014-09-06T20:54:05.547 回答