2016-12-19 8 views
1

У меня была функция, которая стала слишком большой, поэтому я реорганизовал переменные в поля класса (new) и части метода методам класса. Моя функция теперь выглядит следующим образомРефакторинг для встроенного использования класса?

void doSomething() { 
    Resource resource = .... 
    new HelperClass(resource) 
      .doFirstThing() 
      .doSecondThing() 
      .closeResource(); 

Теперь я хочу сделать обратное преобразование (поскольку функция йоЗотеЬЫпд фактически TestCase, и мне нужно, чтобы получить хороший линейный TestCase, что я могу размещать в Issue Tracker).

Как это сделать, используя инструменты автоматического рефакторинга в сообществе разработчиков IntelliJ Idea?

+0

Я удалил слово «отменить» из вопроса, потому что он обращает внимание на функции рефакторинга, чтобы отменить функциональность. Я давно решил свою проблему (используя git revert, кстати), теперь меня интересует рефакторинг. – user7610

ответ

1

Я не думаю, что прямая отмена возможна, но можно проверить локальную историю (щелкните правой кнопкой мыши -> История локального -> Показать историю), чтобы просмотреть предыдущие версии исходного класса. Эти версии будут автоматически созданы IntelliJ при возникновении различных событий, включая сохранение после изменений. Вы можете выборочно восстановить состояние, которое вы хотите

+0

Разумное решение. У меня есть оригинальная версия в git, так как другая альтернатива, я мог бы восстановить оттуда. Или я мог бы вручную выполнить рефакторинг назад. – user7610

+1

Локальная история, как правило, намного более мелкая, чем git, потому что она работает по мере вашей работы. –