среда, 22 июня 2011 г.

Рекомендации по использованию операторов IF и CASE

И еще одну статью сегодня решил опубликовать, по теме языка 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, что упростит не только логику программы, но – и ее понимание сторонними программистами.

Вот такие вполне логичные рекомендации. Они понятные для всех, кто уже не первый год занимается программированием, но – для новичков такие рекомендации точно должны быть полезны. Сам был новичком, некоторые из описанных недочетов тоже использовал – сейчас таким делом не занимаюсь. И вы не делайте так.

Комментариев нет:

Отправить комментарий