Как было указано, вы можете использовать Exit Function
, но вам следует соблюдать осторожность.В приведенном вами простом примере действительно нет никакого преимущества, который никакой другой код не выполнил бы в любом случае.
Размещение точек выхода по всему куску кода может усложнить отслеживание и отладку.Более серьезно, это может привести к тому, что последующие изменения в коде станут сложнее, что потребует более масштабных изменений и, следовательно, увеличит риск.Следовательно, такой шаблон следует считать «неприятным запахом».
Типичный сценарий, в котором его разумно приемлемо, - это когда код может сделать некоторые утверждения относительно своих входных параметров, прежде чем продолжить с текстом тела.Кроме этого, вы должны быть в состоянии выразить действительно, действительно веские причины, чтобы сделать это.
Вы можете сказать: «Если я сделаю это таким образом, у меня будет больше If
структур и увеличит выделение вкод чрезмерно ".Если это так, то в любом случае функция содержит слишком много кода и должна быть преобразована в меньшие функции.