Ich würde gerne Ihre Meinung über die Verwendung return
und else
Aussagen synonym in CFScript wissen. Ich verwenden in der Regel die folgende Syntax:Können in CFScript die Anweisungen return und else synonym verwendet werden?
if (something) {
// Do something
}
else {
// Do something else
}
Es vor kurzem fiel mir ein, ich könnte dies tun, anstatt:
if (something) {
// Do something
return;
}
// Do something else
Würden diese beiden Arten ergeben ein anderes Endergebnis? Ich mag es nicht, Code in eine else
Anweisung einzupacken. Mein Denken ist, dass, wenn die if
-Anweisung wahr und zurückgibt, der Code darunter nicht ausgeführt wird. Wenn es nicht wahr auswertet, wird der Code darunter ausgeführt, unabhängig davon, ob es in eine else
-Anweisung eingebettet ist oder nicht.
Klingt das richtig?
Ja, solange Sie eine "Rückkehr" verwenden, die korrekt ist. Wenn es ein oder zwei Zeilen Code ist, bevorzuge ich die zweite Methode. Aber für mehr als das ist die erste Methode lesbarer/intuitiver IMO. – Leigh
Siehe http://stackoverflow.com/questions/36707/should-a-function-have-only-one-return-statement für eine umfassende Diskussion dieser Idee in allen Programmiersprachen. Ihr Beispiel # 2 wird von Fowler als "Guard Statement" bezeichnet. – orangepips
@orangepips +1 für den tollen Thread – Leigh