这是在PHP中,但它应该(我认为)适用于任何使用三元运算符的语言。
我有一个简单的行,三元运算符将一个字符串赋值给一个值。尽管如此,字符串最终还是有点太长了,所以最终结果看起来像这样:
$resultingString = ($isValid) ?
"This statement is true."
:
"This statement is false."
;
代码运行完美,但它只是看起来......很奇怪......这是不好的做法?我能想到的唯一选择是:
if ($isValid) {
$resultingString = "This statement is true.";
} else {
$resultingString = "This statement is false.";
}
稍微干一点。
答案 0 :(得分:3)
这是一个基于意见的主题,但我倾向于认为在代码库中保持一致非常重要。 一种可能的风格类似于你原来的(对我来说,读取更干净):
$resultingString = ($isValid)
? "This statement is true."
: "This statement is false.";
我尽可能避免这些,并避免'其他'作为一般做法,所以我可能会这样做:
$resultingString = "This statement is false.";
if ($isValid) {
$resultingString = "This statement is true.";
}
答案 1 :(得分:1)
我更喜欢:
$resultingString = (
$is_valid
?
"This statement is true."
:
"This statement is false."
);