1、SourceMonitor使用
C语言度量值(C Metrics)、
- 总函数(Lines):包括空行在内的代码行数;
- 语句数目(Statements):在C语言中语句就是以分号结尾的。分支语句IF,循环语句FOR,跳转语句都被计算在内,预处理语句#include等也被计算在内。
- 分支语句比例(Percent Branch Statements):该值表示分支语句占语句数目的比例 ,这里的分支语句就是指使得程序不顺序执行的语句,包括if、else、for、switch。
- 注释比例(Percent Lines with Comments):该值表示注释行占总行数的比例。
- 函数数目(Functions):指示函数的数量;
- 平均每个函数包含的语句数目(Average Statements per Function):总的函数语句数目除以函数数目得到该值。
- 函数圈复杂度(Function Complexity):圈复杂度表示一个函数可执行路径的数目,以下语句为圈复杂度的值贡献1:if/else/for/while语句,三元运算符,if/for/while判断语句中的“&&”、“||”,switch语句,后接break/goto/return/throw/continue语句的case语句,catch/except语句。
- 函数深度(Block Depth):函数深度指示函数中分支嵌套的层数。
- 最复杂的函数所占的行数(lines numbers of most complex funtion)
举例1:函数为:
void sdsd(void)
{
if(1)
{
;
;
if(1)
{
;
vtMenu_iconApp_Handle();
}
}
}
举例2:函数为:
void dhushdusd(void)
{
if(1)
{
;
if(1)
{
;
}
else
{
;
}
}
else if(2)
{
;
if(1)
{
;
}
}
else
{
;
}
}
2、astyle
这个工具可以对C语言进行规则对齐。
3、sourceinsight-scan
sourceinsight-scan 是一款集成在 SourceInsight 中的c/c++代码静态分析插件,集成了cppcheck,coverity,pclint等业界优秀的静态分析工具的优点。
旨在帮助开发人员,在IDE中快速发现编译器无法发现的非语法错误,降低修复成本。
无需编译,平均扫描速度高达10W行/分钟,快速帮您发现潜在的质量风险,包括空指针,越界,内存泄漏及潜在的逻辑错误,平均准确率高达80%。
支持个性化定制需求,包括规则配置,误报屏蔽,路径屏蔽,配置自定义判空宏等。