在这种特定情况下,静态代码分析器(如PHPMD)在以下PHP代码段中出现错误:
foreach ($aSomething as $key => $value) {
... do something with the $key only
}
错误:
Avoid unused local variables such as '$value'.
现在,我不知道有什么方法可以只用键来创建一个foreach循环。用这些行来表达的“分析仪安全”解决方案是什么?
此刻,我正在通过致电array_keys
解决此问题,然后逐一讨论这一问题,但感觉有点过头了。另一个解决方案是始终使分析仪对此循环保持静音。
与代码质量和代码要求的“可理解性”保持一致的“正确”方法是什么?
答案 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
),并在不需要这些变量中的数据时使用它们。
尽管我不知道如何配置$_
,但我想有人可以使用上述选项的正确配置来编辑我的答案。