Рефакторинг Visual Studio: Удалите метод

Также обратите внимание, что .equals() обычно содержит == для тестирования, поскольку это первое, что вы хотели бы проверить, если вы хотите проверить, совпадают ли два объекта.

И == действительно просматривает значения для примитивных типов, для объектов он проверяет ссылку.

6
задан kokos 12 August 2008 в 06:22
поделиться

6 ответов

Если я понимаю вопрос, то Resharper называет этот 'встроенный метод' - Ctrl - R + я

6
ответ дан 10 December 2019 в 02:56
поделиться

Я сделал бы это simpliest путь:

  1. переименуйте метод ComputeResult к ComputeResultX
  2. переименуйте метод DoSomething к ComputeResult
  3. удалите метод DoSomething (который является теперь ComputeResult),
  4. переименуйте метод ComputeResultX назад к ComputeResult

Возможно, VS покажет, что некоторый конфликт из-за последнего переименовывает, но игнорирует его.

"Переименовывают", я имею в виду: перезапишите название метода, и после него используют выпадающее (Shift+Alt+F10), и выбор "переименовывают". Это заменит все происшествия новым именем.

1
ответ дан 10 December 2019 в 02:56
поделиться

Можно также щелкнуть правой кнопкой по имени метода и нажать "Find all References" в Visual Studio.

Я лично просто сделал бы CTRL + SHIFT + H к Find & Replace

0
ответ дан 10 December 2019 в 02:56
поделиться

ReSharper является определенно VS, который 2008 включает, чтобы иметь для рефакторинга. Однако это не делает этой формы рефакторинга за один шаг; необходимо будет Осуществить рефакторинг->, переименовывают DoSomething к ComputeResult и игнорируют конфликт с реальным ComputeResult. Затем удалите определение, которое было DoSomething. Это - почти один шаг.

Однако, возможно, это может сделать это один шаг. Если я считал это правильно.

0
ответ дан 10 December 2019 в 02:56
поделиться

Когда дело доходит до рефакторинга как этот испытайте ReSharper.

Просто щелкните правой кнопкой по имени метода, нажмите "Find usages" и осуществите рефакторинг, пока это не сможет найти ссылки.

И как dlamblin упомянутый, новейшая версия ReSharper имеет возможность встроить метод. Это должно сделать, в чем Вы нуждаетесь.

1
ответ дан 10 December 2019 в 02:56
поделиться

Существует несколько продуктов, доступных для добавления дополнительных опций рефакторинга к Visual Studio 2005 и 2008, несколько лучших, Осуществляют рефакторинг! Pro и Resharper.

До удаляют метод, существует описание в канонической книге Рефакторинга о том, как сделать это инкрементно.

Лично, я следую, шаблон что-то вдоль этих строк (предположите, что компиляция и рабочие модульные тесты происходит между каждым шагом):

  1. Создайте новый метод
  2. Удалите тело старого метода, измените его для вызова нового метода
  3. Поиск всех ссылок на старый метод (щелкают правой кнопкой по имени метода и выбору, "Находит всю Ссылку"), измените их на вызовы к новому методу
  4. Mark старый метод как [Устаревший] (звонит в него, теперь обнаружится как предупреждения во время сборки),
  5. Удалите старый метод
1
ответ дан 10 December 2019 в 02:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: