CQLinq: Code Query Linq
CppDepend lets query the code base over LINQ queries thanks to CQLinq. For example the following CQLinq query matches all public methods that have more than 30 lines of code:
120 default queries and rules are provided when you create a new CppDepend project. They are easy to read and easy to adapt to your need.
Writing CQLinq queries and constraints is straightforward both because it is C# LINQ syntax and because CppDepend provides a CQLinq editor which supports:
- Code completion / intellisense,
- Live compile error description,
- Integrated tooltip documentation.
Also, once the query is compiled, it gets executed immediately and its result is well displayed and browsable:
Powerful and elaborated queries and rules can be written with CQLinq, like the following one for example:
Short CQLinq queries can be written (or even generated) to get some immediate answers to questions about a code base:
Is the code layered correctly?
Which methods have been refactored since the last release?
Which classes inherit from a particular class?
What are the 10 most complex methods?
Which methods assign a particular field?
Which complex method is not enough commented?
You can also be warned automatically when a CQLinq query returns a certain result. Such a CQLinq code query is actually a code rule such as: