The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Каталог документации / Раздел "PHP" / Оглавление документа

Глава 17. Использование continue, break и ?:

Continue и break

Continue и break - это тот же самый goto, только названы по-другому. Именно поэтому они рассмотрены в этой части документа.

Как и goto, continue и break творят всякие разные чудеса в коде, поэтому их использование рекомендуется свести до минимума. Одним мановением руки читатель кода переносится бог знает куда по какой-то незадокументрированной причине. При использовании continue возникают две проблемы:

Пример

Представим себе ситуацию, где имеют место обе проблемы:

while (TRUE)         
{
   ...
   // Много кода
   ...

   if (/* какое-то условие */) {
      continue;
   }
   ...

   // Много кода
   ...
   if ( $i++ > STOP_VALUE) break;
}

Note: "много кода" нужно для того, чтобы программист не смог легко отследить проблему.

Из приведённого выше примера мы можем составить себе следующее правило: использование continue и break в одном блоке - прямая дорога к багам.

?:

Проблема обычно заключается в том, что люди пытаются запихать слишком много кода между ? и :. Вот несколько правил:

Пример

(условие) ? funct1() : func2();

or

(условие)
    ? длинный блок
    : ещё один длинный блок;


ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

Оформить подписку на год


  Закладки на сайте
  Проследить за страницей
Created 1996-2012 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
RUNNet TopList