3

Есть ли способ выполнить противоположное рефактору «Метод извлечения» в Visual Studio?Противоположность рефакторингу метода извлечения

У меня есть устаревшая кодовая база с ~ 50 очень короткими частными функциями, которые используются только один раз, и мне поручено вставлять их.

Если автоматический встроенный рефакторинг невозможен, можно ли сократить время, необходимое для встраивания этих вызовов функций? Мой текущий рабочий процесс:

  • Скопируйте код в функцию.
  • Найти, где это называется.
  • Замените вызов функции скопированным кодом.
  • Замените имена локальной переменной на функцию.
  • Удалить функцию.

ответ

5

Рефакторинг, который вы ищите, называется "Inline Method".

Хотя Visual Studio не предоставляет этот рефакторинг из коробки, вы можете получить к нему доступ (и многие другие полезные рефакторинги) путем установки расширения Jetbrains ReSharper для Visual Studio.

С установленным расширением все, что вам нужно сделать, это нажать на объявление метода или вызов метода и вызвать рефакторинг 'Inline Method'. Это автоматически введет все вхождения метода и удалит его.

-1

Возможно, вы захотите собрать функции в файл заголовка и украсить их inline. Я понимаю, что это не совсем ответ на то, что вы просили, но может быть лучшим решением вашей проблемы, потому что таким образом компилятор выполнил бы inlining (если он сочтет нужным).

Это зависит от ситуации, но сохранение определений функций может привести к более четкому коду, поэтому может иметь значение даже при вызове только один раз.

Это также более быстрый и менее подверженный ошибкам, чем ручной рефакторинг «встроенный метод».

 Смежные вопросы

  • Нет связанных вопросов^_^