静态代码分析器中未使用的 foreach 值
Unused foreach value in static code analyzers
静态代码分析器(在这种特定情况下)PHPMD 哀叹以下 PHP 代码片段中的错误:
foreach ($aSomething as $key => $value) {
... do something with the $key only
}
错误:
Avoid unused local variables such as '$value'.
现在,我不知道有什么方法可以只使用键来创建 foreach 循环。 "analyzer safe" 解决这些问题的方法是什么?
我目前正在通过调用 array_keys
来解决这个问题,然后在这个问题上进行 foreach-ing,但感觉有点矫枉过正。另一种解决方案是始终使该循环的分析器静音。
如何"right"保持代码质量和"understandability"代码要求一致?
正如我从一些 phpmd 文档中读到的,规则 UnusedLocalVariable
有一个 allow-unused-foreach-variables
属性,请在此处阅读更多内容:
https://phpmd.org/rules/unusedcode.html
此外,根据 github thread here https://github.com/phpmd/phpmd/pull/329,应该有一个选项
whitelist variables in the UnusedLocalVariable
rule
至于使用像 $_
这样的变量,这意味着 "value not needed" 或 "throw it away",还有另一个 git 线程 https://github.com/phpmd/phpmd/issues/326,它最终将您发送到前一个有机会 "whitelist variables in the UnusedLocalVariable
rule"。
因此,有两个选项 - 允许未使用的变量,我认为这不是个好主意。第二种选择是将被忽略的变量列入白名单(例如上面提到的$_
)并在不需要这些变量中的数据时使用它们。
虽然我不知道如何配置 phpmd
,但我想有人可以使用上述选项的正确配置来编辑我的答案。
静态代码分析器(在这种特定情况下)PHPMD 哀叹以下 PHP 代码片段中的错误:
foreach ($aSomething as $key => $value) {
... do something with the $key only
}
错误:
Avoid unused local variables such as '$value'.
现在,我不知道有什么方法可以只使用键来创建 foreach 循环。 "analyzer safe" 解决这些问题的方法是什么?
我目前正在通过调用 array_keys
来解决这个问题,然后在这个问题上进行 foreach-ing,但感觉有点矫枉过正。另一种解决方案是始终使该循环的分析器静音。
如何"right"保持代码质量和"understandability"代码要求一致?
正如我从一些 phpmd 文档中读到的,规则 UnusedLocalVariable
有一个 allow-unused-foreach-variables
属性,请在此处阅读更多内容:
https://phpmd.org/rules/unusedcode.html
此外,根据 github thread here https://github.com/phpmd/phpmd/pull/329,应该有一个选项
whitelist variables in the
UnusedLocalVariable
rule
至于使用像 $_
这样的变量,这意味着 "value not needed" 或 "throw it away",还有另一个 git 线程 https://github.com/phpmd/phpmd/issues/326,它最终将您发送到前一个有机会 "whitelist variables in the UnusedLocalVariable
rule"。
因此,有两个选项 - 允许未使用的变量,我认为这不是个好主意。第二种选择是将被忽略的变量列入白名单(例如上面提到的$_
)并在不需要这些变量中的数据时使用它们。
虽然我不知道如何配置 phpmd
,但我想有人可以使用上述选项的正确配置来编辑我的答案。