Теперь мне нужно провести рефакторинг некоторого кода, это в основном один метод (его около 1000 строк кода), который выполняет много вычислений и имеет много переменных. Я не уверен, как это сделать.
Код как
...
calculateSth(param1,param2,param3,param4,param5, params6);
calculateSthElse(param1,param2,param3);
...
хорошо выглядишь?
Я мог бы представить объекты параметров, но эти объекты использовались бы только в качестве параметров для какого-либо метода, поэтому это выглядело бы следующим образом
...
calculateSth(calculateSthObject);
calculateSthElse(calculateSthElseObject);
...
или я мог бы поместить все в один большой объект и сделать его
...
calculateSth(calculateObject);
calculateSthElse(calculateObject);
...
однако в этом решении мне пришлось бы вытащить все, что нужно в приватных методах, в начале метода и установить в конце, и было бы намного сложнее выяснить, какие значения используются в приватных методах , Для вывода требуется около половины переменных.
Как бы вы это сделали?
P.S. Расчеты не тривиальны, поэтому такие вещи, как
calculateObject.setMagicValue4((calculateObject.getMagicValue() * calculateObject.getMagicValue2() / calculateObject.getMagicValue3())
только затруднит чтение.