SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
CppDepend Benefits 
by CoderGears 
www.cppdepend.com
What is CppDepend? 
Bad Quality High Quality 
+ = 
www.cppdepend.com
CQLinq – Code Query Language 
CppDepend 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.NbLinesOfCode > 30 select m 
From n in Namespaces n.Level = null select n 
From t in Types where t.IsClass select t 
Writing CQLinq queries and constraints is straightforward because 
CppDepend provides a CQLinq editor which supports: 
•Code completion / intellisense, 
•Live compile error description, 
•Integrated tooltip documentation. 
www.cppdepend.com
Interactive Guis 
Exploration and Architecture Compliance categories are represented 
best via interactive graphs: 
•Dependency Graph, 
•Dependency Matrix, 
•Metrics View, 
•Abstracness vs Instability. 
www.cppdepend.com
Dependency graph 
The CppDepend dependency graph panel displays the 
graph of dependencies between projects. 
www.cppdepend.com
Dependency Structure Matrix 
The DSM (Dependency Structure Matrix) is a compact way to 
represent and navigate across dependencies between components. 
www.cppdepend.com
Metrics View 
In the Metric View, the code base is represented through 
a Treemap. Treemapping is a method for displaying tree-structured 
data by using nested rectangles. 
www.cppdepend.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.cppdepend.com
More than 80 Code Metrics 
CppDepend 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.cppdepend.com
Plugins 
CppDepend support out of the box the XML files from CppCheck and 
CPD, however you can integrate another analysis tool by providing to 
CppDepend an XML file with this following format: 
www.cppdepend.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. 
CppDepend 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.cppdepend.com
Customizable reports 
CppDepend can analyze source code and C/C++ Projects through 
CppDepend Console. Each time it analyzes a code base, CppDepend 
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 CppDepend. 
www.cppdepend.com
Rich Code Search facilities 
Contrary to other tools, CppDepend Code Search supports numerous 
criterias including Searching by: 
•Name, 
•Size, 
•Complexity, 
•Coupling, 
•Popularity, 
•Coverage, 
•Visibility, 
•Mutability, 
•Purity, 
•Change and Coverage of Changes. 
www.cppdepend.com
CppDepend features 
• Analysis of Application Projects, Code Source and Third-Party Projects, 
• Facilities to Create and Customize CppDepend Project, 
• Dashboard reflecting the status of the code base, 
• Automatic HTML Report Production through CppDepend console, 
• Possible Integration into the Build Process, 
• Warnings about the Health of the Build Process, 
• Plugins Integration (CppCheck, 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.cppdepend.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.cppdepend.com
Our contacts 
Our teams at CoderGears will be more than happy to assist you! 
Support Team 
support@codergears.com 
Sales Team 
sales@codergears.com 
www.cppdepend.com

Contenu connexe

Dernier

Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageDista
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native BuildpacksVish Abrams
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLAlluxio, Inc.
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024Mind IT Systems
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Incrobinwilliams8624
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxAutus Cyber Tech
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptkinjal48
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmonyelliciumsolutionspun
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyRaymond Okyere-Forson
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIIvo Andreev
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorShane Coughlan
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesShyamsundar Das
 

Dernier (20)

Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native Buildpacks
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Inc
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptx
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.ppt
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AI
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security Challenges
 

CppDepend Benefits

  • 1. CppDepend Benefits by CoderGears www.cppdepend.com
  • 2. What is CppDepend? Bad Quality High Quality + = www.cppdepend.com
  • 3. CQLinq – Code Query Language CppDepend 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.NbLinesOfCode > 30 select m From n in Namespaces n.Level = null select n From t in Types where t.IsClass select t Writing CQLinq queries and constraints is straightforward because CppDepend provides a CQLinq editor which supports: •Code completion / intellisense, •Live compile error description, •Integrated tooltip documentation. www.cppdepend.com
  • 4. Interactive Guis Exploration and Architecture Compliance categories are represented best via interactive graphs: •Dependency Graph, •Dependency Matrix, •Metrics View, •Abstracness vs Instability. www.cppdepend.com
  • 5. Dependency graph The CppDepend dependency graph panel displays the graph of dependencies between projects. www.cppdepend.com
  • 6. Dependency Structure Matrix The DSM (Dependency Structure Matrix) is a compact way to represent and navigate across dependencies between components. www.cppdepend.com
  • 7. Metrics View In the Metric View, the code base is represented through a Treemap. Treemapping is a method for displaying tree-structured data by using nested rectangles. www.cppdepend.com
  • 8. 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.cppdepend.com
  • 9. More than 80 Code Metrics CppDepend 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.cppdepend.com
  • 10. Plugins CppDepend support out of the box the XML files from CppCheck and CPD, however you can integrate another analysis tool by providing to CppDepend an XML file with this following format: www.cppdepend.com
  • 11. 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. CppDepend 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.cppdepend.com
  • 12. Customizable reports CppDepend can analyze source code and C/C++ Projects through CppDepend Console. Each time it analyzes a code base, CppDepend 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 CppDepend. www.cppdepend.com
  • 13. Rich Code Search facilities Contrary to other tools, CppDepend Code Search supports numerous criterias including Searching by: •Name, •Size, •Complexity, •Coupling, •Popularity, •Coverage, •Visibility, •Mutability, •Purity, •Change and Coverage of Changes. www.cppdepend.com
  • 14. CppDepend features • Analysis of Application Projects, Code Source and Third-Party Projects, • Facilities to Create and Customize CppDepend Project, • Dashboard reflecting the status of the code base, • Automatic HTML Report Production through CppDepend console, • Possible Integration into the Build Process, • Warnings about the Health of the Build Process, • Plugins Integration (CppCheck, 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.cppdepend.com
  • 15. 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.cppdepend.com
  • 16. Our contacts Our teams at CoderGears will be more than happy to assist you! Support Team support@codergears.com Sales Team sales@codergears.com www.cppdepend.com