作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Perl 的新手,目前的任务是整理和维护一个庞大且相当凌乱的 Perl 项目。我正在使用 perl-critic 来帮助我检测代码中的问题(并教我最佳实践)。
现有代码有编码人员创建了无法访问的代码的地方。例如,他们添加了 '&& 0' 作为注释掉一些代码分支的懒惰方式:
if ($req->param('donut') && 0) {
unreachable code...
} else {
always branches to here...
}
最佳答案
使用 B::Deparse ,您可以在某些情况下检测无法访问的代码:
perl -MO=Deparse -e 'if (0 && $x) {print 1} else {print 2}'
do {
print 2
};
-e syntax OK
perl -MO=Deparse -e 'if ($x && 0) {print 1} else {print 2}'
if ($x and 0) {
print 1;
}
else {
print 2;
}
-e syntax OK
&&
强制标量上下文,因此它可以更改评估条件时调用的代码的行为。
关于perl - 如何在 Perl 条件中检测无法访问的代码,它总是评估为假?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23336115/
我是一名优秀的程序员,十分优秀!