私は今、いくつかのコードをリファクタリングする必要があります。それは、計算を多くし、多くの変数を持っている基本的に1つのメソッド(約1000行のコード)です。私はそれをリファクタリングする方法がわかりません。 コードは非常に組み合わせコードのリファクタリング
...
calculateSth(param1,param2,param3,param4,param5, params6);
calculateSthElse(param1,param2,param3);
...
のように表示されますか?私は、パラメータオブジェクトを導入する可能性
が、これらのオブジェクトは、唯一のいくつかのメソッドへのparamsとして使用されるので、それはこの
...
calculateSth(calculateSthObject);
calculateSthElse(calculateSthElseObject);
...
か、私は一つの大きなオブジェクト内のすべてのものを入れて
作ることができるようになります。...
calculateSth(calculateObject);
calculateSthElse(calculateObject);
...
しかし、その解決策では、メソッドの最初にプライベートメソッドで必要なものをすべて取り出して最後に設定する必要があり、どの値が使用されているかを調べるのはずっと難しくなりますプライベートメソッド。アウトプットとして約半分の変数が必要です。
どうすればよいですか?
P.S.計算は自明ではないので、
calculateObject.setMagicValue4((calculateObject.getMagicValue() * calculateObject.getMagicValue2()/calculateObject.getMagicValue3())
のようにすると、読みにくくなるだけです。