Есть ли (с помощью инструмента) способ выполнить рефакторинг "метода перемещения" с использованием VS2015 и VisualAssist?

Я нахожусь в процессе разрушения большого класса, который делает многое для многих (он же объект Бога) на более мелкие части.

Класс ранее был - частично - разбит и теперь выглядит ( упрощенно) так:

class FooHolder {
  friend class BigClass;
  private:
    int foo_A;
    int foo_B;
    //...
}

class BarHolder {
  friend class BigClass;
  private:
    bool bar_A;
    bool bar_B;
    //...
}

class BigClass {
  public:
    int getFoo_A() { return m_FooHolder.foo_A; };
    int getFoo_B() { return m_FooHolder.foo_B; };
    //...
    bool getBar_A() { return m_BarHolder.bar_A; };
    bool getBar_B() { return m_BarHolder.bar_B; };
    //...
  private:
    FooHolder m_FooHolder;
    BarHolder m_BarHolder;
}

Поэтому следующим логическим шагом было бы добавить функции доступа (в BigClass) для FooHolder а также BarHolder и переместить все эти другие функции из BigClass в классы, которые фактически содержат данные (и продолжают рефакторинг оттуда).

Unfortuately BigClass имеет (буквально) два дозенд Holder классы типов и тысячи этих функций. Которые называются от двух до пятидесяти раз многими классами. И мне бы очень хотелось, чтобы все движения не выполнялись вручную.

Как уже упоминалось в заголовке, я работаю в C++ с использованием Visual Studio 2015 (с расширением VisualAssist) - есть ли способ выполнить эти рефакторинги полуавтоматическим / с помощью инструмента?

0 ответов

Другие вопросы по тегам