Koruma hükümleri veya ön koşullar (muhtemelen görebileceğiniz gibi) belirli bir koşulun karşılanıp karşılanmadığını kontrol edin ve ardından programın akışını kırar. Gerçekten sadece bir if
ifadenin tek bir sonucuyla ilgilendiğiniz yerler için harikadır . Söylemek yerine:
if (something) {
// a lot of indented code
}
Koşulu tersine çevirirsiniz ve bu ters koşul yerine getirilirse kırılırsınız
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
kadar kirli değil goto
. Kodunuzun geri kalanını işlevin çalışamayacağını göstermek için bir değer iletmenizi sağlar.
Bunun iç içe koşullarda nereye uygulanabileceğine ilişkin en iyi örnekleri göreceksiniz:
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();
İlkinin daha temiz olduğunu iddia eden birkaç kişi bulacaksınız, ancak elbette tamamen öznel. Bazı programcılar, bir şeyin girintiyle hangi koşulların altında çalıştığını bilmek isterken, yöntem akışını doğrusal tutmayı tercih ederim.
Bir an için precons'un hayatınızı değiştireceğini veya sizi koyacağını önermeyeceğim, ancak kodunuzu okumak biraz daha kolay olabilir.