Schutzklauseln oder Vorbedingungen (wie Sie wahrscheinlich sehen können) prüfen, ob eine bestimmte Bedingung erfüllt ist, und unterbrechen dann den Programmfluss. Sie eignen sich hervorragend für Orte, an denen Sie wirklich nur an einem Ergebnis einer if
Aussage interessiert sind . Also anstatt zu sagen:
if (something) {
// a lot of indented code
}
Sie kehren die Bedingung um und brechen, wenn diese umgekehrte Bedingung erfüllt ist
if (!something) return false; // or another value to show your other code the function did not execute
// all the code from before, save a lot of tabs
return
ist bei weitem nicht so schmutzig wie goto
. Sie können einen Wert übergeben, um den Rest Ihres Codes anzuzeigen, den die Funktion nicht ausführen konnte.
Sie sehen die besten Beispiele dafür, wo dies unter verschachtelten Bedingungen angewendet werden kann:
if (something) {
do-something();
if (something-else) {
do-another-thing();
} else {
do-something-else();
}
}
vs:
if (!something) return;
do-something();
if (!something-else) return do-something-else();
do-another-thing();
Es gibt nur wenige Leute, die argumentieren, das erste sei sauberer, aber natürlich völlig subjektiv. Einige Programmierer möchten gerne wissen, unter welchen Bedingungen etwas durch Einrücken arbeitet, während ich den Methodenfluss lieber linear halten möchte.
Ich werde nicht für einen Moment vorschlagen, dass Precons Ihr Leben verändern oder Sie zur Ruhe bringen, aber Sie finden Ihren Code möglicherweise ein bisschen einfacher zu lesen.