Я нахожусь в процессе разрушения большого класса, который делает далеко много (иначе Объект Бога ) на более мелкие части.
Класс имеетуже был ранее - частично - разбит и теперь выглядит ( упрощенно ) следующим образом:
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
в классы, которые фактически хранят данные (и продолжают рефакторинг оттуда).
К сожалению, BigClass
имеет (буквально) два класса типа dozend Holder
и тысяча таких функций.Которые вызываются от двух до пятидесяти раз многими классами.И мне бы очень хотелось, чтобы все перемещения не выполнялись вручную.
Как уже упоминалось в заголовке, я работаю в C ++ с использованием Visual Studio 2015 (с расширением VisualAssist) - есть ли способ выполнитьэти рефакторинги полуавтоматическим / с помощью инструмента?