With 2017.3 launching the analysis from within the Visual Studio will get the build specification using the Visual Studio API which gives more reliable result.
Many resources and videos are available to help you learn about a wide range of CppDepend capabilities.
For more flexibility, CppDepend v2017.2 provides a powerful way to develop your custom CQlinq extensions using the API.
A library CustomCQlinqExtensions can be found where CppDepend is installed, you just have to add your extensions, build the library and copy the generated dll in the lib directory. Below are some use cases:
A code query can now return code elements of various kinds such as projects, namespaces, types, methods and fields.
Thanks to this, new queryable domains are available including CodeElements ANTMF ; CodeElementParents ANT ; TypesAndMembers TMF ; Members MF ; CodeContainers ANTM ; AttributeTargets ATMF ; where Assemblies, Namespaces, Types, Methods, Fields.
Improved query editing experience including:
- PageUp/PageDown and dot supported on completion items list
- Smart query results with column width auto-adjustment
- No more flickering on query result row sorting.
All default rules now include debt/interest estimation formulas that offer real-world estimations of the technical-debt, out of the box. If needed, these formulas can be easily customized.
Typically rules related to poor coverage, poor quality and poor structure are the highest source of technical-debt.
CppDepend 2017.1 supports Visual Studio 2017.
CppDepend 2017.1 also supports Visual Studio 2015, 2013, 2012 and 2010.
Issues of a rule now have a severity level in the blocker, critical, major, minor, and info range.
The annual-interest is a measure of an issues severity. The severity and the annual-interest represent the same concept where the annual-interest is a continuous measure while the severity is a discrete measure.
For example the rule below matches methods which are too complex. The technical debt is linear to the methods excessive complexity and the annual-interest is linear to the methods code coverage by tests (10 minutes per year for 100% coverage, 2 hours per year for 0% coverage).
All default rules now have these debt/interest formulas which offer real-world estimations, out of the box. If needed, these formulas can be easily customized.
The dashboard now shows estimated Debt values and evolution since baseline.
This dashboard is available in the CppDepend UI in Visual Studio and in generated reports.
Many facilities are offered on the dashboard to query,sort,filter,group the debt estimated values and the issues set.
These facilities include sorting debt and issues per rule or per code element, focusing on new and fixed debt since baseline and issues to fix by priority heuristics.
Customizable Quality Gates are now available to define excessive thresholds over debt estimations that might induce build failure and prevent check-in.
Customizable trend metrics are now available to measure debt trending.
The key is to offer comprehensive sets of actionable results.
The CppDepend project properties now have a Debt and Issues panel to customize all technical debt computation aspects.
This includes estimated Debt and Interest values conversion from man-time to cost estimation.
This also includes Debt Ratio and SQALE Debt Rating on a code element (as defined by the SQALE method). These are expressed as a percentage of the estimated technical-debt compared to the estimated effort it would take to rewrite the code element from scratch.
Debt settings can also be shared among different CppDepend projects.
Code base diff, rules, issues and quality gates are then recomputed in a few seconds.
Any newly created project now has the baseline settings set to 30 days ago per default.
As a consequence, the stored baseline with the date closest to 30 days ago is applied.
The first analysis result of a project is compared with itself since no other result can be used as the baseline.
The search panel can now match all code elements added, refactored or removed since baseline.
The results also show debt and issues information.
This perspective is ideal to browse changes and issues introduced since the baseline.
New issues since the baseline are shown first in the rule results.
A colour scale is now shown on values making it easier to compare them at a glance.
Different fonts are used to highlight changes in code elements since the baseline: bold font for added code, underlined for refactored code and bold striked for removed code.
With CppDepend, software quality can be measured using Code Metrics, visualized using Graphs and Treemaps, and enforced using standard and custom Rules.
.