Охранные предложения или предварительные условия (как вы, вероятно, можете видеть) проверяют, выполнено ли определенное условие, а затем нарушают ход программы. Они отлично подходят для мест, где вас действительно интересует только один результат 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();
Вы найдете несколько человек, которые утверждают, что первое - чище, но, конечно, оно абсолютно субъективно. Некоторым программистам нравится знать, в каких условиях что-то работает с помощью отступов, в то время как я бы предпочел сохранить линейность методов.
Я не буду на мгновение предположить, что предконфигурации изменят вашу жизнь или уложат вас, но вам может показаться, что ваш код немного проще для чтения.