if-exp-instead-of-or-operator (FURB110)
派生自 refurb 代码检查工具。
有时提供修复。
此规则不稳定且处于预览状态。使用需要 --preview
标志。
作用
检查可以被 or
运算符替换的三元 if
表达式。
为什么这不好?
三元 if
表达式比 or
表达式更冗长,同时提供相同的功能。
示例
建议改为
修复安全性
此规则的修复被标记为不安全,以防 if
表达式的主体包含副作用。
例如,foo
在 foo() if foo() else bar()
中会被调用两次(假设 foo()
返回真值),但在 foo() or bar()
中只会被调用一次。