Cpp Depend Benefits by Coder Gears www jarchitect
Cpp. Depend Benefits by Coder. Gears www. jarchitect. com
What is Cpp. Depend? Cpp. Depend is a static analyzer based on Clang, that simplifies managing complex C/C++ code base. Bad Quality High Quality + = With Cpp. Depend, software quality can be: • Measured using Code Metrics, • Visualized using Graphs and Treemaps, • Enforced using standard and custom Rules. www. jarchitect. com
CQLinq – Code Query Language Cpp. Depend has innovative code query language named CQLinq, which is used to create and customize easily your own code rules. From m in Application. Methods where m. Nb. Lines. Of. Code > 30 select m From n in Namespaces n. Level = null select n From t in Types where t. Is. Class select t Writing CQLinq queries and constraints is straightforward because Cpp. Depend provides a CQLinq editor which supports: • Code completion / intellisense, • Live compile error description, • Integrated tooltip documentation. www. jarchitect. com
Interactive Guis Exploration and Architecture Compliance categories are represented best via interactive graphs: • • Dependency Graph, Dependency Matrix, Metrics View, Abstracness vs Instability. www. jarchitect. com
Dependency graph The Cpp. Depend dependency graph panel displays the graph of dependencies between projects. www. jarchitect. com
Dependency Structure Matrix The DSM (Dependency Structure Matrix) is a compact way to represent and navigate across dependencies between components. www. jarchitect. com
Metrics View In the Metric View, the code base is represented through a Treemapping is a method for displaying treestructured data by using nested rectangles. www. jarchitect. com
Abstracness vs. Instability In any software system particularly large ones, balance is critical. In this case, a system should balance abstractness with stability in order to be "good”. www. jarchitect. com
More than 80 Code Metrics Cpp. Depend comes with more than 80 code metrics some of them are related to: • Your code organization (the number of classes, the number of methods declared in a class. . . ), • Code quality (complexity, percentage of comments, number of parameters, cohesion of classes, stability of Projects. . . ), • The structure of code (which types are the most used, depth of inheritance. . . ) www. jarchitect. com
Plugins Cpp. Depend support out of the box the XML files from Cpp. Check and CPD, however you can integrate another analysis tool by providing to Cpp. Depend an XML file with this following format: www. jarchitect. com
Builds comparison In software development, products are constantly evolving. Hence, developers and architects must pay attention to modifications in code bases. Modern source code repositories handle incremental development. Cpp. Depend can tell you what has been changed between 2 builds but it does more than simple text comparison. It can distinguish between: • Comment change, • Code change, • what has been added/removed • what has just been modified. www. jarchitect. com
Customizable reports Cpp. Depend can analyze source code and C/C++ Projects through Cpp. Depend Console. Each time it analyzes a code base, Cpp. Depend yields a report that can inform you about the status of your development. You can customize sections shown in the report and you can even provide your own XSL sheet for full customization. You can also build your own set of CQLinq constraints that will be checked at each analysis. Sample Report made by Cpp. Depend. www. jarchitect. com
Rich Code Search facilities Contrary to other tools, Cpp. Depend Code Search supports numerous criterias including Searching by: • Name, • Size, • Complexity, • Coupling, • Popularity, • Coverage, • Visibility, • Mutability, • Purity, • Change and Coverage of Changes. www. jarchitect. com
Cpp. Depend features Analysis of Application Projects, Code Source and Third-Party Projects, Facilities to Create and Customize Cpp. Depend Project, Dashboard reflecting the status of the code base, Automatic HTML Report Production through Cpp. Depend console, Possible Integration into the Build Process, Warnings about the Health of the Build Process, Plugins Integration (Cpp. Check, CPD), Clang diagnostics, Interactive UI: Dependency Graph, Dependency Matrix, Metrics Visualization, • Build Comparison / Code Diff • Edition of custom CQLinq Queries and Rules • Support for Trend charts and Trend metrics • • • www. jarchitect. com
Related links CQlinq syntax: http: //www. cppdepend. com/Doc_CQLinq_Syntax. aspx CQLinq features: http: //www. cppdepend. com/Doc_CQLinq_Features. aspx CQLinq performance: http: //www. cppdepend. com/Doc_CQLinq_Perf. aspx Dependency graph: http: //www. cppdepend. com/Doc_VS_Arch. aspx Dependency Structure Matrix: http: //www. cppdepend. com/Doc_Matrix. aspx Metrics view: http: //www. cppdepend. com/Doc_Treemap. aspx Code metrics: http: //www. cppdepend. com/Metrics. aspx Plugins: http: //www. cppdepend. com/plugins. aspx Clang diagnostics: http: //www. cppdepend. com/Doc_Diagnostics. aspx Build comparison: http: //www. cppdepend. com/Doc_VS_Diff. aspx Reports: http: //www. cppdepend. com/Doc_CI_Report. aspx Rich code search: http: //www. cppdepend. com/Doc_VS_Search. aspx www. jarchitect. com
Our contacts Our teams at Coder. Gears will be more than happy to assist you! Support Team support@codergears. com Sales Team sales@codergears. com www. jarchitect. com
- Slides: 16