我对其他情况有冲突。我可以通过两种方式编写程序。
方法1
$msg = '';
if(cond)
{
$msg = 'success';
}
else
{
$msg = 'error';
}
方法2
$msg = 'error';
if(cond)
{
$msg = 'success';
}
你能告诉我哪种方法更好,怎么样?感谢
答案 0 :(得分:3)
在两者之间,我会选择第一个。
$msg = '';
if(cond) {
$msg = 'success';
} else {
$msg = 'error';
}
这是可读的,清楚地传达了它正在尝试做的事情。
如果条件为真,则消息为success
。如果没有,则消息为error
。
但是对于上面非常简单的事情,我会使用三元语句。它非常有用,可以减少代码,但在某些情况下可能会使代码无法读取:
$msg = (cond) ? "success" : "error";
非常酷,对吗?在此处详细了解ternary operators。
答案 1 :(得分:1)
$msg = (cond) ? 'success' : 'error';
答案 2 :(得分:1)
我会说第二个更好,因为它的线数较少而且有默认行为。无论如何,你知道$ msg将包含一些东西,即使你在路上添加其他检查。但是,在这种情况下我会使用三元运算符:
$msg = (cond) ? 'success' : 'error';
答案 3 :(得分:1)
代码可读性很重要,所以当真正简化外观时我会使用三元运算符。 考虑一下,
function foo($stuff) {
$var = null;
if ($stuff === true) {
$var = true;
} else {
$var = false;
}
return $var !== null ? true : false;
}
因为在这种情况下,return $var !== null ? true : false
非常短,所以可以认为它“易于阅读和理解”。
考虑一下,
function foo($stuff) {
$var = null;
if ($stuff === true) {
$var = true;
} else {
$var = false;
}
if ($var !== null) {
return true;
} else {
return false;
}
}
同样的事情,但更长一点
结论
if/else
此外,您应该将此事称为“方法”,而不是“方法”,因为方法是类中的函数。