За последние 24 часа нас посетили 15723 программиста и 1623 робота. Сейчас ищут 1097 программистов ...

Хочу такую языковую конструкцию

Тема в разделе "Прочее", создана пользователем armadillo, 25 авг 2009.

  1. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    TheShock - возникает сомнение, возникает. Потому-что сегодня он напишет
    Код (Text):
    1. preg_match ($regexp, $string, $match);
    а завтра
    Код (Text):
    1.  
    2. preg_match ($regexp, $string, $match);
    3. <разный код>
    4. if (условие)
    5.    preg_match ($regexp, $string, $match);
    6. <угадай, что будет в $match>
    Проблема у программистов другая - они редко дальше своего носа видят. Но это уже отдельная тема для другого форума.
     
  2. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    А философия языка - это отмаза из серии "PHP - недоязык". Есть философия программиста, а язык - это инструмент.
     
  3. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    MiksIr, а потом вы скажете, что «единственная моя цель — запутать следующего за мной программиста».
    Меня достает такая конструкция:
    PHP:
    1. <? $value = isset($_GET['value']) ? $_GET['value'] : null;
    которую я пишу во всему проекту. согласитесь, так намного красивее:
    PHP:
    1. <? $value = def ($_GET['value'], null);
    Хотя, думаю, правильнее было бы как-то так:
    PHP:
    1. <? $value = Request::get('value');
     
  4. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Третье то оно и есть правильное. Первое хоть и длиннее, но читается значительно лучше второго, тем более что приведенное тут - настолько частный случай, что вообще с трудом придумываю его применение. Типа, для более красивых дальнейших проверок "что нам делать, если параметр не пришел"?
    В конце концов где-то правильнее даже собака будет, чем дополнительная инициализация. Например, такой код (если уж говорить о "однофайловом" программировании
    Код (Text):
    1. myfunc(@$_GET['value']);
    с моей точки зрения более правильный и понятный, чем
    Код (Text):
    1. $value = isset($_GET['value']) ? $_GET['value'] : null;
    2. myfunc($value);
    ибо говорит, что "мы знаем, что параметра может и не быть, но оставляем этот анализ на усмотрение myfunc". Потенциально натыкаемся на грабли "а если myfunc не делает проверок", но так как речь об "однофайловом" программинге - вероятность такого мала, а есть поект хоть чуток крупнее - там уже аналоги 3-го варианта, и никак больше.
     
  5. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    MiksIr, ну и, плюс, почитай первый пост этой темы, то есть, сообственно, сабж.
     
  6. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Я лучше башорг.. там хоть смешнее бывает =)
     
  7. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    однако, я не хочу, чтобы оно создавало такой элемент. а то разрастется понимаишь...
     
  8. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    Туплю, пятница