Tuesday, April 27, 2004

NDepend 1.0

NDepend

"NDepend automatically analyses assemblies of your application and provides some metrics. By measuring coupling between types of your application, it provides a stability metric for each assembly. An assembly is considered stable if its types are used by a lot of types of tier assemblies. If an assembly contains many abstract types (i.e interfaces and abstract classes) and few concrete types, it is considered as abstract. NDepend helps you detect which assemblies are potentially painful to maintain (i.e concrete and stable) and which assemblies are potentially useless (i.e abstract and instable).

NDepend has other useful functionalities:

It detects dependency cycles between your assemblies.
If no cycle is detected, it provides a build order for your assemblies. This order is also useful when using tools for obfuscation.
It provides global metrics for your application (percentage of public types...).
It enumerates all assemblies that depend on a particular assembly.
It enumerates all types that depend on a particular type.
It warns you when the stable dependencies principle is violated (i.e when an assembly depends on a less stable assembly than itself)."

Interesting...

No comments: