Существует ли (с помощью инструмента) способ выполнить «метод перемещения»? рефакторинг с использованием VS2015 & amp; 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

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector