根据HIS代码指标,下列函数有多少指令?
static uint16 CalcSignalBjbCurrents()
{
uint16 u16Current;
if(TRUE == bCurrValid)
{
if()
{
u16Current = 2;
}
else if()
{
u16Current = 1;
}
else
{
u16Current = 123;
}
}
else
{
u16Current = 22;
}
return u16Current;
}
详细说明:
我发现"声明"之间没有任何区别。和"指令"在C.我真的很感激有人可以用有效的参考来回答它。
在使用我们的内部SCA分析器检查此函数的代码度量时,与使用SourceMonitor进行检查时,我得到的指令/语句数量值不同。 我对问题的分析是SourceMonitor将复合语句(如条件树)计为多个语句,其中我们的内部脚本将整个条件树计为一条指令。
我们的脚本:指令数量 - > 8;
源监视器:Stetments数量 - > 11;
HIS代码指标: http://docplayer.net/6136232-His-source-code-metrics.html
答案 0 :(得分:0)
嗯,链接文档引用了C标准,该标准将语句定义为“要执行的操作”,在涉及这些类型的分析时,坦率地可以解释。
如果我通过语法细分它,我会计算15个不同的语句产生,但这些并不一定转化为不同的动作。
我计算了4个赋值语句,分布在3个if
语句中,加上return
语句 - 最多可添加8个。语法发言,声明不是语句,我不计算这个总数的声明。