最近、プルーニングとクリーンアップが必要な C# コンソール アプリケーションを継承しました。簡単に言うと、このアプリは 110,000 行以上のコードを含む単一のクラスで構成されています。ええ、1 つのクラスで 110,000 行以上。そしてもちろん、アプリは私たちのビジネスの中核であり、動的な Web サイトで使用されるデータを 24 時間更新しています。私の前任者は「本当に優れたプログラマー」だったと言われていますが、OOP (またはバージョン管理) にまったく興味がなかったことは明らかです。
とにかく...コードに慣れているうちに、宣言されているが参照されていないメソッドがたくさん見つかりました。コードのバージョンを変更するためにコピー/貼り付けが使用されたように見えます。プログラマーが getSomethingImportant() に変更を加えるように依頼されたとき、彼はコピー/貼り付けして名前を getSomethingImortant_Date に変更し、getSomethingImortant_Date に変更を加えてから、コード内のすべてのメソッド呼び出しを新しいメソッド名に変更し、古いメソッドをそのままにしていたようです。コードですが、参照されることはありません。
1 つの巨大なクラスをクロールし、すべてのメソッドのリストと各メソッドが参照された回数を返す単純なコンソール アプリを作成したいと考えています。私の推定では、1000 をはるかに超えるメソッドがあるため、手動でこれを行うには時間がかかります。
このコードを調べるために使用できる .NET フレームワーク内のクラスはありますか? または、宣言されているが参照されていないメソッドを特定するのに役立つその他の便利なツールはありますか?
(補足質問: このような非常に大きなクラスの C# アプリを見た人は他にいますか? 多かれ少なかれ 1 つの巨大な手続き型プロセスです。少なくともこのサイズのものは、私が見たのはこれが初めてです。)