Есть ли (с помощью инструмента) способ выполнить рефакторинг "метода перемещения" с использованием 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) - есть ли способ выполнить эти рефакторинги полуавтоматическим / с помощью инструмента?