views:

402

answers:

4

I'm sure we've all seen it before...A code base that has been around for a year or two, and as features have been added and bugs fixed, we end up with pieces of code that aren't actually in use anymore. I'm wondering if there is a way (especially in VS.NET with or without a third-party tool) to search the codebase and show me which methods are NEVER used anywhere else in the code?

The one challenge I can think of in regards to this type of utility would be the inability to map back when implicit type conversions are occuring. But assuming that wasn't a problem, what are my options?

+8  A: 

FxCop will warn you of methods where nothing calls them.

Keith
+4  A: 

As it turns out, one of the things that FxCop does is identify unused bits of code, but it sometimes misses stuff. However, your best bet would likely be ReSharper.

Rob
+2  A: 

Remember though that any public-facing method, property, or field can be accessed via reflection or in a derived type in a seperate assembly.

FxCop is the right answer here, but you also need to limit accessibility to your code. I.e. decorate things with private/protected/internal where appropriate.

Chris Smith
A: 

The following tool can find orphan/unused code:

MZ-Tools