与Extract Method重构相反

时间:2014-08-28 14:14:41

标签: visual-studio-2013 refactoring automated-refactoring inlining

有没有办法在Visual Studio中执行与“Extract Method”重构相反的方法?

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

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

  • 复制功能中的代码。
  • 找到它所在的位置。
  • 用复制的代码替换函数调用。
  • 从函数中替换局部变量名称。
  • 删除该功能。

2 个答案:

答案 0 :(得分:5)

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

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

安装了扩展程序后,您只需单击方法声明或方法调用,然后调用'Inline Method'重构。这将自动内联所有出现的方法并将其删除。

答案 1 :(得分:-1)

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

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

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