1. PHP / Говнокод #1658

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    /**
         * Set flag indicating whether or not request has been dispatched
         *
         * @param boolean $flag
         * @return Zend_Controller_Request_Abstract
         */
        public function setDispatched($flag = true)
        {
            $this->_dispatched = $flag ? true : false;
            return $this;
        }

    вот такую штуку сегодня увидел

    Запостил: getme, 22 Августа 2009

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

    • напомнило http://govnokod.ru/1641
      Ответить
    • а может тут пытаются избежать случайного присвоения булевому полю стринги или объекта :-)
      Ответить
      • кажется именно так ) $flag на вхлже не обязательно bool. может быть что угодно )
        Ответить
      • Именно так. И ни какой это не говнокод
        Ответить
        • 'г'.'о'.'в'.'н'.'о'.'к'.'о'.'д';


          $this->_dispatched = (bool)$flag;
          Ответить
    • Цель понятна — и это нормальная практика в OOP.
      Ответить
    • говнокод и поддерживаю. и ваще язык отстойный, который позволяет такое делать. Сорри я не знаю языка этого. Улучшенный вариант кода (более дешевый и легче понимаемый):

      public function setDispatched($flag)
      {
      if($flag is empty)
      $this->dispatched = true;
      else
      $this->_dispatched = $flag;

      return $this;
      }
      Ответить
      • лол, вы из нормального кода сделали гавно, поздравляю
        Ответить
      • предлагаю это запостить отдельным говнокодом
        Ответить
      • этот говнокод из комента переговнокодил говнокод из поста
        ржу нимагу

        тот хотябы в $this->_dispatched запишет булёво значение
        Ответить
    • Не говнокод, конечно, а особенность языка с динамической типизацией. Хотя можно было и просто привести тип к булеву:
      $this->_dispatched = (boolean) $flag;
      Ответить
    • Очевидно же это PHP. И это нормальная практика.
      Ответить
      • Для баранов повторю слова Bobby: "$this->_dispatched = (boolean) $flag;"

        Это PHP и это нормальная практика, а быдло считает, что такой прием недопустим и PHP это зло...
        Ответить
    • Хрен с ним, с (bool), зачем сеттеру возвращать свой объект?
      Ответить
    • Может они хотели что можно было делать
      $obj->setDispatcher()->setEcheShtoto();
      как то так ))
      Ответить

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