Одна из следующих функций лучше, чем другой, с точки зрения того, куда поместить 'ложный оператор' возврата?
Функциональный № 1:
function equalToTwo($a, $b)
{
$c = $a + $b;
if($c == 2)
{
return true;
}
return false;
}
Функциональный № 2:
function equalToTwo($a, $b)
{
$c = $a + $b;
if($c == 2)
{
return true;
}
else
{
return false;
}
}
Спасибо!
Функциональной разницы между ними нет; вы должны выбрать наиболее очевидный и читаемый.
Я обычно использую else
.
Обратите внимание, что ваш конкретный пример должен быть записан как
return $c == 2;
Между ними нет никакой разницы. На мой взгляд, они оба одинаково удобочитаемы, и заметной разницы в производительности также нет.
В этом случае выберите тот, который вам легче читать , так как это такая маленькая функция.
В случаях, когда функция намного больше, обычно лучше сделать что-то вроде этого ...
function do( $var=null ) {
if ( $var === null ) {
return false;
}
// many lines of code
}
В этом случае это будет иметь значение. Сразу же потерпите неудачу. Потому что он намного читабельнее, чем ...
function do( $var=null ) {
if ( $var !== null ) {
//many lines of code
}
else {
return false;
}
}