Что лучше - {} или (:) endif;

Extalionez

Клоун
Заблокирован
Регистрация
21 Авг 2008
Сообщения
368
Реакции
191
  • Автор темы
  • Заблокирован
  • #1
Здравствуйте! В последнее время начал замечать частое использование в чужом коде альтернативного синтаксиса управляющих текстур. Хотелось бы узнать чем он лучше обычного {} ведь не один из известных мне редакторов не умеет выделять блок между ( : ) endif; в отличие от {}
Конечно это не очень фатально, но когда вложений больше пяти и они разбросаны как я не знаю что - это уже становится нечитаемо
 
Что я тут могу сказать... Программисты - это натура довольно тонкая. И не смотря на тонны литературы на тему "правильного форматирования кода", все еще существуют ряды приверженцев "быдло-кода". Как уже Вы догадались, компилятору глубоко параллельно, какой из вариантов выберет программист. Структура "( : ) - endif" - довольно древняя. А как показывает практика, в последнее время пошла тенденция убирать из новых версий компилятора PHP старые и никому не нужные функции, структуры и прочий раритет. Как не крути, все идет к обобщенному виду кода, основная тенденция которого уже давно была продиктована языком Си. Ничего более универсального пока никто не изобрел. Если интересно почитать литературу о правильном форматировании кода - настоятельно рекомендую начать из стандартов описанных Zend Framework. Красиво, удобно, практично.
 
Перенес в "как сделать"

Имхо: конструкция набирает популярность из-за популярных CMS, такой синтаксис в своих темах использующих (намёк на WP, если кто не понял).
 
  • Автор темы
  • Заблокирован
  • #4
Перенес в "как сделать"

Имхо: конструкция набирает популярность из-за популярных CMS, такой синтаксис в своих темах использующих (намёк на WP, если кто не понял).
действительно, сорь. как-то я забыл даже что такой раздел существует :)
Для меня лично главным в этом вопросе было какая разница для компилятора, на что довольно подробно ответил Viodele.
 
в коде использую {} а в шаблона if() : endif;
 
можете объяснить почему?
Я тоже использую ту же конструкцию в шаблонах, потому что так более читаемо в шаблоне, нагляднее и все дела...
Например,
Код:
<? foreach($categories as $category): ?>
   <div>
   <? if(is_active($category['id'])): ?>
      <b><?=$category['name']?></b>
   <? else: ?>
      <a href="<?=$category['link']?>"><?=$category['name']?></a>
   <? endif; ?>
   </div>
<? endforeach; ?>
 
  • Автор темы
  • Заблокирован
  • #8
и вы это считаете нагляднее и читабельней:eek::confused:
...хотя может для блокнота это и чуток нагляднее
 
и вы это считаете нагляднее и читабельней:eek::confused:
...хотя может для блокнота это и чуток нагляднее
Сколько людей - столько и мнений, в простом коде я соблюдаю отступы, поэтому удобнее использовать {}. Шаблоны имеют более кривую структуру, чем приведенный пример. Мне сложно видеть к чему принадлежит закрывающаяся скобка } к if, foreach, for или while. Приходится искать по коду. А я человек, а не интерпретатор, чтобы сидеть считать количество открывающих и закрывающих скобок. Поэтому для меня такая структура гораздо нагляднее.
 
  • Автор темы
  • Заблокирован
  • #10
Сколько людей - столько и мнений, в простом коде я соблюдаю отступы, поэтому удобнее использовать {}. Шаблоны имеют более кривую структуру, чем приведенный пример. Мне сложно видеть к чему принадлежит закрывающаяся скобка } к if, foreach, for или while. Приходится искать по коду. А я человек, а не интерпретатор, чтобы сидеть считать количество открывающих и закрывающих скобок. Поэтому для меня такая структура гораздо нагляднее.
А я про что? как раз endif и приходится считать если там больше одного вложения. А закрывающаяся скобка } подсвечивается всеми популярными редакторами. А бесплатный notepad++ может даже свернуть эту конструкцию
 
Назад
Сверху