我对几个项目运行了静态代码分析,并从生成的报告中获取了这些项目中每个文件的循环复杂度。现在我想计算整个项目的平均圈复杂度。
我怎样才能最好地实现这一目标?
对我来说,仅将每个文件的循环复杂度值相加然后除以文件数似乎是错误的,因为短头文件与很长的文件具有相同的影响。另外,我想避免通过代码行来衡量文件的重要性。
还有其他方法吗?例如,用中位数?
我有一个XQuery问题:
{
let $x := $document//AOSCAT_MetricDetail//table[@class="pretty-table"]
//tr/td[8]/text()
let $sum_of_statements_per_method := sum(
for $a at $i in $x where $a != 0.0 return $a
)
let $count_of_statements_per_method := count(
for $a at $i in $x where $a != 0.0 return $a
)
return
if ($count_of_statements_per_method != 0) then
return <average_statements_per_method>{
$sum_of_statements_per_method
div
$count_of_statements_per_method
}</average_statements_per_method>
else
return <average_statements_per_method>
No data available
</average_statements_per_method>
}
Run Code Online (Sandbox Code Playgroud)
使用Saxon9执行此XQuery会产生以下错误:
Error on line 103 column 39 of transform_2.xq:
XPST0003: XQuery syntax error in #...verage_statements_per_method>{#:
expected "else", found ">" …Run Code Online (Sandbox Code Playgroud)