Sébastien Andreo just wrote a blog post explaining how using some NDepend features made the life of its team easier. Sébastien is a software architect at Siemens Healthcare
in Germany and its team uses NDepend for over 18 months. The team is massive with
more than 100 developers located on several sites and the project is around 7 years old. With around 2.5M Lines of Code,
the code base is very large. For example, the entire .NET Framework
v3.5 (including ASP.NET, WindowsForm, WPF, WCF…) weights 8.5M IL instructions while these
2.5M Lines of Code compiles to 13M IL instructions (+ some C++ code that compiles to x86).
Sébastien explains that thanks to the fine impact estimation made possible with Code Query Language (CQL)
the team can now rationalize deliveries and avoid breaking accidentaly the build.
Making a clear estimation of changes consequences enhances the
communication between co-workers and leverages the team anticipation
skill. With NDepend, the team can precisely estimate which part of the
code needs more attention (typically brand new code, complex code, entangled code, refactored code…). Thus they can increase the value of their
smoke tests and focus automatic tests effort.
Also Sébastien confirms that all our work on performances
is relevant. In a context of such a large code base the analysis
duration dropped from 25 minutes to 6 minutes (from a Clear Case
virtual file system which has a negative impact on performance). On
smaller code base the analysis duration is a matter of a few seconds.
In 2009 we plan more performance improvements because the time of users
Sébastien ends up its post with a wish list and I take a chance here to answer it:
- Plug-in mechanism for Runtime dependency check (private, spring.Net, …): This is planned in the mid-term, and I will write some blog posts soon to explain our stance on the subject.
- Multi language support (Java seems to be on track with www.xdepend.com): Yes XDepend
(NDepend for Java), will see the light of the day within the next
months. A public beta will be available within the next weeks.
- CQL complex Query support (multi select in one query): Yes query composition will be delivered in 2009. However, we can hardly provide a clear date by now.
the visualNDepend class browser the possibility to apply some filter,
(a CQL filter perhaps). If you have a lot of assemblies you can easily
find the targeted one without scrolling through the whole list. Yes, we are currently working on increasing the CQL results panel usability to add even more flexibility to VisualNDepend.
mechanism for the NDepend project. You are currently supporting
VisualStudio but what’s about MonoDevelop, SharpDevelop eclipse or
others… I am not sure that we will support others IDE than Visual
Studio in the future. But more integration is part of our plan for 2009
and some integration APIs will be made public for those who want to
integrate some NDepend capabilities into some environments.