我最近继承了需要修剪和清理的 C# 控制台应用程序。长话短说,该应用程序由一个包含超过 110,000 行代码的类组成。是的,一个类中超过 110,000 行。当然,该应用程序是我们业务的核心,它全天候运行更新动态网站上使用的数据。尽管有人告诉我我的前任是“一个非常优秀的程序员”,但很明显他根本不喜欢 OOP(或版本控制)。
无论如何......在熟悉代码的同时,我发现了很多声明但从未引用过的方法。看起来好像复制/粘贴用于对代码进行版本控制,例如说我有一个名为 getSomethingImportant() 的方法,很可能还有另一个名为 getSomethingImortant_July2007() 的方法(在大多数情况下,模式是 functionName_[dateamp])。看起来当程序员被要求对 getSomethingImportant() 进行更改时,他会复制/粘贴然后重命名为 getSomethingImortant_Date,对 getSomethingImortant_Date 进行更改,然后将代码中的任何方法调用更改为新方法名称,将旧方法留在代码,但从未被引用。
我想编写一个简单的控制台应用程序,它爬过一个巨大的类并返回所有方法的列表以及每个方法被引用的次数。据我估计,有超过 1000 种方法,所以手工完成需要一段时间。
.NET 框架中是否有可用于检查此代码的类?或者任何其他有用的工具可以帮助识别已声明但从未引用的方法?
(附带问题:有没有其他人见过这样的 C# 应用程序,一个非常大的类?这或多或少是一个巨大的程序过程,我知道这是我见过的第一个,至少是这个大小。)