私はプロジェクトを持っています(グラフアルゴリズムに関連しています)。それは別の人によって書かれています。
コードは恐ろしいです:
- public フィールド、getter/setter なし
- 巨大なメソッド、すべてパブリック
- 一部のクラスには 20 を超えるフィールドがあります
- 一部のクラスには 5 つ以上のコンストラクターがあります (これも巨大です)。
- これらのコンストラクターのいくつかは、多くのフィールドを残すだけです
null
(そのため、いくつかのフィールドを final にすることはできません。これは、1 つおきのコンストラクターがエラーを通知するためです)。 - メソッドとクラスは双方向で相互に依存しています
これをクリーンでわかりやすい API に書き直す必要があります。
問題は次のとおりです。私自身、このコードで何も理解していません。
そのようなコードを分析して理解するためのヒントを教えてください。
おそらく、静的コード分析を実行し、グラフなどを呼び出すツールがあるのではないかと考えていました。