I now have to refactor some code, it's basically one method(its around 1000 lines of code) that does a lot of calculations and have a lot of variables. I'm not sure how to refactor it. Does code like
...
calculateSth(param1,param2,param3,param4,param5, params6);
calculateSthElse(param1,param2,param3);
...
look good?
I could introduce parameter objects, but those objects would only be used as params to some method, so it would look like this
...
calculateSth(calculateSthObject);
calculateSthElse(calculateSthElseObject);
...
or I could put everything in one big object and make it
...
calculateSth(calculateObject);
calculateSthElse(calculateObject);
...
however in that solution I would have to pull out everything that is needed in private methods on the beginning of the method and set at the end, and it would be a lot of harder to find out what values are used in private methods. Around half of variables are needed as output.
How would you do it?
P.S. Calculations are not trivial, so doing things like
calculateObject.setMagicValue4((calculateObject.getMagicValue() * calculateObject.getMagicValue2() / calculateObject.getMagicValue3())
would only make it hard to read.