I'm concerned that a lot of the classes in my application are public
. I figure that the majority of them don't need to be.
Are there any tools that can analyse my project (or the binary) and tell me which classes can safely be made internal
?
NDepend will make sugestions, and much more , does a lot of code analysis.
Yes, NDepend and the Visual Studio Dependency Graph generator.
Edit:
That said, I think Kim Jing's deleted post had an excellent suggestion: although the tools will tell you what classes are and aren't used outside your library, it's really something you should do manually wearing your Solution Architect hat.
NDepend is a good place to start. http://www.ndepend.com/
However, in an ideal world having specific client interfaces public interface
I think is the way to move forward as these would be your "pinch points".
Interface segregation principle -
http://en.wikipedia.org/wiki/Interface_segregation_principle
Of course you can always find out in a non-production environment by making everything non public. ;)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With