Охранные предложения или предварительные условия (как вы, вероятно, можете видеть) проверяют, выполнено ли определенное условие, а затем нарушают ход программы. Они отлично подходят для мест, где вас действительно интересует только один результат if
заявления. Так что вместо того, чтобы сказать:
if (something) {
// a lot of indented code
}
Вы отменяете условие и нарушаете его, если выполнено обратное условие
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
далеко не так грязно, как goto
. Это позволяет вам передать значение, чтобы показать остальную часть вашего кода, что функция не может работать.
Вы увидите лучшие примеры того, как это может быть применено во вложенных условиях:
if (something) {
do-something();
if (something-else) {
do-another-thing();
} else {
do-something-else();
}
}
против:
if (!something) return;
do-something();
if (!something-else) return do-something-else();
do-another-thing();
Вы найдете несколько человек, которые утверждают, что первое - чище, но, конечно, оно абсолютно субъективно. Некоторым программистам нравится знать, в каких условиях что-то работает с помощью отступов, в то время как я бы предпочел сохранить линейность методов.
Я не буду на мгновение предположить, что предконфигурации изменят вашу жизнь или уложат вас, но вам может показаться, что ваш код немного проще для чтения.