静态代码分析器中未使用的foreach值

时间:2019-04-16 14:17:03

标签: php phpmd

在这种特定情况下,静态代码分析器(如PHPMD)在以下PHP代码段中出现错误:

foreach ($aSomething as $key => $value) {
    ... do something with the $key only
}

错误:

Avoid unused local variables such as '$value'.

现在,我不知道有什么方法可以只用键来创建一个foreach循环。用这些行来表达的“分析仪安全”解决方案是什么?

此刻,我正在通过致电array_keys解决此问题,然后逐一讨论这一问题,但感觉有点过头了。另一个解决方案是始终使分析仪对此循环保持静音。

与代码质量和代码要求的“可理解性”保持一致的“正确”方法是什么?

1 个答案:

答案 0 :(得分:2)

正如我从一些phpmd文档中看到的,规则react-router-dom有一个allow-unused-foreach-variables属性,请在此处阅读更多内容:

https://phpmd.org/rules/unusedcode.html

此外,根据此处的github线程https://github.com/phpmd/phpmd/pull/329,应该有一个选项

  UnusedLocalVariable规则中的

白名单变量

对于使用UnusedLocalVariable之类的变量表示“不需要值”或“将其扔掉”,还有另一个git线程https://github.com/phpmd/phpmd/issues/326,最终,您可以将您带到上一个线程,以“将$_规则中的变量列入白名单”。

因此,有两种选择-允许使用未使用的变量,我认为这不是一个好主意。第二种选择是将要忽略的变量列入白名单(例如上面提到的UnusedLocalVariable),并在不需要这些变量中的数据时使用它们。

尽管我不知道如何配置$_,但我想有人可以使用上述选项的正确配置来编辑我的答案。