CppDepend是一个用于C/C++代码的静态分析工具。此工具支持大量代码度量,允许使用有向图和依赖关系矩阵可视化依赖关系。这些工具还执行代码基快照比较,以及架构和质量规则的验证。用户定义的规则可以使用LINQ查询编写。这种LINQ查询被称为CQLinq。该工具还附带了大量预定义的CQLinq代码规则。
CppDepend的主要特性是:
CppDepend v2017.1中的新特性
该工具通过LINQ查询进行实时代码查询和代码规则。这是CppDepend的创新之一。例如:
// <Name>classes inherit from a particular class</Name>
from t in Types
where t.IsClass && t.DeriveFrom ("CBase")
select t
// <Name>The 10 most complex methods</Name>
(from m in Methods
orderby m.CyclomaticComplexity
select new { m, m.CyclomaticComplexity }).Take(10)
此外,该工具还提出了一个带有代码完成和嵌入式文档的实时CQLinq查询编辑器。