Daniel Fisher (lennybacon.com)

SOA, DATA & THE WEB

NDepend customizing rule: Avoid namespaces with few types

NDepend is a tool that offers a wide range of features to let developers analyze a .NET code base. It comes with about 200 built in rules. But there are a few default rules that do not fit “my rules”. This blog post shows how to customize one and even more important why.

Avoid namespaces with few types

I observed that the original rule outputs an unnecessary line for namespace {} because of the compiler generated classes (caused by linq queries).

image

Here is my *fixed* rule to skip “0 types“ in the result:

warnif count > 0 from n in JustMyCode.Namespaces 
let types = n.ChildTypes.Where(t => !t.IsGeneratedByCompiler)
where 
  types.Count() < 5 &&
  types.Count() > 0 
  orderby types.Count() ascending
select new { n, types } 

Comments

Write a comment