我最近繼承了需要某些修剪和清理的C#控制檯應用程序。長話短說,該應用程序由一個包含超過110,000行代碼的類組成。是的,在一個班級中超過110,000行。當然,這款應用程序對我們的業務至關重要,它運行着全天候更新動態網站上使用的數據。儘管我被告知我的前任是「一位非常優秀的程序員」,但顯然他完全沒有進入OOP(或版本控制)。如何以編程方式識別C#方法的引用數量
無論如何...雖然熟悉了代碼,但我發現了很多已聲明但從未引用的方法。它看起來好像是使用複製/粘貼來對代碼進行版本化,例如說我有一個名爲getSomethingImportant()的方法,可能有另一種方法稱爲getSomethingImortant_July2007()(該模式在大多數情況下是functionName_ [datestamp])。它看起來像程序員被要求對getSomethingImportant()進行更改時,他會複製/粘貼,然後重命名爲getSomethingImortant_Date,對getSomethingImortant_Date進行更改,然後將代碼中的任何方法調用更改爲新方法名稱,將舊方法留在代碼但從未引用。
我想編寫一個簡單的控制檯應用程序,通過一個巨大的類爬行,並返回所有方法的列表與每個方法被引用的次數。據我估計,有超過1000種方法,所以手動操作需要一段時間。
.NET Framework中是否有類可用於檢查此代碼?或者可能有助於識別已聲明但從未引用的方法的其他有用工具? (旁邊的問題:有沒有其他人看過這樣的C#應用程序,一個reeeealy大類?或多或少是一個巨大的程序過程,我知道這是我見過的第一個,至少是這樣的大小。 )
你的建議刪除,因爲我去通過代碼是我的第一個念頭了。正如其他人所建議的,我將使用這種方法加上NDepend來做進一步的分析。 – Duffy 2008-09-20 00:05:57