我对其他条件有冲突。我可以用两种方式编写程序。
方法一
$msg = ''; if(cond) { $msg = 'success'; } else { $msg = 'error'; }
方法二
$msg = 'error'; if(cond) { $msg = 'success'; }
你能告诉我哪种方法更好,怎么做?谢谢
我对其他条件有冲突。我可以用两种方式编写程序。
方法一
$msg = '';
if(cond)
{
$msg = 'success';
}
else
{
$msg = 'error';
}
方法二
$msg = 'error';
if(cond)
{
$msg = 'success';
}
你能告诉我哪种方法更好,怎么做?谢谢
两者之间,我会选择第一个。
$msg = '';
if(cond) {
$msg = 'success';
} else {
$msg = 'error';
}
这是可读的,并且清楚地传达了它想要做什么。如果条件为真,则消息将为success
。如果不是,则消息将是error
。
但是对于上述非常简单的事情,我会改用三元语句。它非常有用,可以减少代码,但在某些情况下可能会使您的代码不可读:
$msg = (cond) ? "success" : "error";
很酷,对吧?在此处阅读有关三元运算符的更多信息。
使用三元运算符:
$msg = (cond) ? 'success' : 'error';
我会说第二个更好,因为它的行数更少并且具有默认行为。无论如何,你知道 $msg 将包含一些东西,即使你在路上添加了其他检查。但是,在这种情况下,我会使用三元运算符:
$msg = (cond) ? 'success' : 'error';
代码可读性很重要,所以当它真正简化外观时,我会使用三元运算符。考虑到这一点,
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
你也应该把这个东西称为“方法”,而不是“方法”,因为方法是类中的一个函数。