我用python模块中的clang计算C / C ++代码的圈复杂度。
而且,我几乎发表了声明但是,我不能发表一些声明,而不是
有一个支撑。
例如,如果下面的语句可以捕获并计算出圈复杂度。
if (i == 1 && k ==2)
{
cout << 'q' << endl;
}
但是,下面的陈述无法捕捉。
if (i == 1 && k ==2)
cout << 'q' << endl;
请告诉我如何捕捉该声明。
答案 0 :(得分:0)
我能想到的唯一一块不一定是大括号(goto
除外但我们不会进入那个)将是case
的{{1}} 1}} / switch
阻止。在这种情况下,您可以检查分隔符。与python不同,你没有缩进检查。因此,要么块有一行代码,要么它是括号括起来的。
要添加额外的丑陋,您目前是否检查
等行case
是的,他们很丑陋,而且你通常很快会因为做其中一件事而大吃一惊。但是,编码样式是可能的。
(所有建议均条件是我正确理解您尝试获取的信息类型。澄清请求+1)