One of the challenges, I always faced was the availability of approaches for quantification of the aspects such as right coupling among classes for better design; less # of lines of code within a class/methods and the complexity measure of the code to take the necessary actions to make the code base maintainable and of higher quality. VS2008 provides a few metrics in this regard. I felt these metrics definitely help us fine tune the quality of the code and even the class design through a statistical approach.
http://blogs.msdn.com/fxcop/archive/2007/10/03/new-for-visual-studio-2008-code-metrics.aspx
• Maintainability Index - the maintainability index has been re-set to lie between 0 and 100. How and why was this done?
• Cyclomatic Complexity - calculated by counting the number of decision points (such as if blocks, switch cases, and do, while, foreach and for loops) and adding 1. This number is also a good indication on the number of unit tests it will take to achieve full line coverage. Lower is typically better.
• Depth of Inheritance - depth of inheritance indicates the number of types that are above the type in the inheritance tree.
• Class Coupling - indicates the total number of dependencies that the item has on other types.
• Lines of Code - measure of the total number of executable lines of code. This excludes white space, comments, braces and the declarations of members, types and namespaces themselves. Lower is typically better
Reference:
http://blogs.msdn.com/fxcop/archive/tags/Code+Metrics/default.aspxhttp://blogs.msdn.com/fxcop/archive/2007/11/20/maintainability-index-range-and-meaning.aspxhttp://blogs.msdn.com/fxcop/archive/2007/10/03/new-for-visual-studio-2008-code-metrics.aspx