性能問題、計算バグ、機能追加不能、を同時発症しているコードを見ている。笑っちゃうくらい原因は単純。
巨大データクラスとif文でこじらせたトランザクションスクリプト、複雑なSQLで頑張りすぎ。
計算の文脈ごとにクラスを分け、用途限定の小さなSQLをある程度揃えれば、うまく改善できそう。
巨大データクラスというより、lombokを駆使した、巨大な貧血ドメインモデルなんだけど、これって、私からみると、ロジックの置き場所は用意されているので、割とやりやすく見えるんですよね。
ガチのトランザクションスクリプト派からみると、巨大データクラスのほうが、まだマシなんだろうけど。