И еще одну статью сегодня решил опубликовать, по теме языка PL/SQL. Скоро уже будет выполнен весь запланированный объем работ на этот месяц – еще одну статью опубликовать надо. Сделаю это на следующей неделе. А в этот раз предлагаю почитать рекомендации по использованию операторов IF и CASE.
Кстати, пока не перешел к статье – расскажу вам о полезном сайте, на который я натолкнулся в поисках места, где можно купить комплект постельного белья, например – из шелка. В этом интернет-магазине «Дом текстиля» выбор очень большой (все показано на картинках) и цены приемлемые – присмотреть для себя что-нибудь точно можно. А теперь, перед покупкой белья – допишу статью о PL/SQL:
В операторах IF следует избегать непродуманных конструкций, например – как в следующем примере:
IF kol_vo >= value
THEN
Sost := TRUE;
ELSE
Sost := FALSE;
IF Sost = TRUE
THEN
RAISE insufficient_funds;
Значение булева выражения может быть присвоено непосредственно булевой переменной. Поэтому первый оператор IF можно заменить простым присваиванием:
Sost := kol_vo >= value
Булева переменная сама по себе имеет значение «ИСТИНИ» или «ЛОЖЬ». Поэтому во втором операторе IF можно упростить условие:
IF Sost Then …
По возможности вместо вложенных операторо IF следует использовать предложение ELSIF. Это облегчает чтение и понимание вашего программного кода. Сравните следующие инструкции IF:
IF условие1 THEN оператор1;
ELSE IF условие2 THEN оператор2;
ELSE IF условие3 THEN оператор3 END IF;
END IF;
END IF;
IF условие1 THEN оператор1;
ELSIF условие2 THEN оператор2;
ELSIF условие3 THEN оператор3;
END IF;
С логической точки зрения обе версии одинаковы. Но – во втором варианте логика просматривается более четко.
При сравнении одного условия с несколькими вариантами, как уже было сказано – лучше использовать оператор CASE, что упростит не только логику программы, но – и ее понимание сторонними программистами.
Вот такие вполне логичные рекомендации. Они понятные для всех, кто уже не первый год занимается программированием, но – для новичков такие рекомендации точно должны быть полезны. Сам был новичком, некоторые из описанных недочетов тоже использовал – сейчас таким делом не занимаюсь. И вы не делайте так.
Комментариев нет:
Отправить комментарий