1

かなり冗長な質問を投稿して申し訳ありません。else {}コードが停止または値を返すだけの場合、本当に使用する必要があるかどうか疑問に思っていました。else{}理論的には、これらのシナリオを入れる必要は本当にある のでしょうか?

function check() {
    if($something == "something") {
        exit;
    }
    echo "hello";
}

または

function check() {
    if($something == "something") {
        return true;
    }
    echo "hello";
}

私がこれを投稿した理由は、彼らが「良さそうだ」と思ったと思われる「プロフェッショナルな」コードを見たからです。

4

5 に答える 5

3

構文的には、まったく問題ありません。

また、使用する非常に一般的なパターンでもあり、私見ですが、コードが読みやすくなります。

コードの明快さ/クリーンなコーディングのために、ブール値を返す場合は、if() が一致しなくてもブール値を返す必要があります。

function check() {
    if($something == "something") {
        return true;
    }
    return false;
}
于 2012-09-08T00:03:07.083 に答える
2

あなたが投稿したコードは有効です。より明確にするために、elseも含めます。

function check() {
   if($something == "something") {
    return true;
   } else{
    return false;
   }
 }
于 2012-09-08T00:06:22.353 に答える
0

難しいルールはありません。else 句が使用されているかどうかの問題は、おそらくインデントによって決定されます。2 つのブロックのコードを並べたい場合は、それを入れます。そうでない場合は、省略します。

于 2012-09-08T00:46:22.433 に答える
0

2 番目のシナリオでは、関数が何かを返すことになっている場合、else は必要ありませんが、少なくとも false を返す必要があります。個人的には、else を入れるのは好きではありません。開発者は、何が返されるかを判断するために、より多くの条件を読む必要があるからです。代わりに、一番下に return true/false を配置し、その上に任意の条件を配置します。

于 2012-09-08T00:03:54.413 に答える
0

それは必要はありません。

ただし、本当の問題は、そうすることで読みやすさが向上するかどうかです。これは議論の余地があり、好みやコーディング基準に応じて開発者ごとに異なる可能性があります。

于 2012-09-08T00:03:58.487 に答える