"PHP" / Говнокод #9981 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
foreach ($metrics as $m)
		{
		eval('$data["'.$a.'"]["'.$m.'"] = $result->get'.$m.'();');
		}

На одном из сайтов который объясняют как работать с гугл аналикс апи.
Нафига выполнять столько раз евал???

не легче и лучше
$key = 'get' . $m;
$data[$a][$m] = $result->{$key}();
евалить стопицот рас???

Запостил: 3xdimon 3xdimon, (Updated )

Комментарии (10) RSS

  • eval вообще вырезать из языка надо с корнями... Он, конечно, однажды и мне пригодился... Но через год после этого я понял что я просто мыслил неправильно, и можно там было без eval`а сделать. 🙂
    Ответить
    • "if eval() is the answer, you're almost certainly asking the wrong question"
      Rasmus Lerdorf the author of that fucking shit

      В обыденном коде его практически никогда не нужно использовать, это факт. Возможно, есть кейсы, когда он был бы полезен, но это относиться скорее к различным инфраструктурным задачам (генерация кода? загрузчик модулей?), а не к клиентскому коду.
      Ответить
      • Надо было назвать как-нибдуь типа system_lang_dynamic_evaulate_expression (метод в классе, который создается отдельной фабрикой)
        Ответить
        • Это как раз скорее инфраструктурная задача, необходимая для разработки: эксперементировать с кодом в интерпретаторе (удобно внедрённом в текстовый редактор) перед тем, как двинуться дальше. В большинстве современных языков это постепенно вытесняется юнит-тестами.
          Ответить
      • Ну я это и имел в виду, собственно. 🙂 Спасибо за формулировку.
        Ответить
  • У жeны oкaзaлся любoвник, и я уeхaл, брoсив всё, в дaльнee Пoдмoскoвьe, гдe у мeня былa oднoкoмнaтнaя квaртирa
    Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8