围绕JavaScript参数对象使用的Sonar违规



假设我的项目中有以下JavaScript代码:

function foo(){
  console.log(arguments);         
}

当我运行Sonar JavaScript插件时,它会注册以下错误:

"eval"one_answers"arguments"不得绑定或分配

知道为什么吗?我知道只有当arguments被分配给变量或用作参数名称时才会出现此错误,但这里的情况都不是。

Sonar中对规则的描述非常清楚地解释了这一点:"arguments"是一个隐式变量,可以访问函数的参数,这是一个索引属性。因此,您不太可能像显示的那样传递这个变量(看起来只是调试代码),而且大多数时候这样做应该引起注意(只有技术JS堆栈/框架需要这样做)。

此问题已经报告了一个错误,如下所述:-http://jira.codehaus.org/browse/SONARPLUGINS-2843

1.4声纳javascript插件预计将于8月15日发布。

最新更新