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

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    foreach ($item as $prop) {
                if ($prop['tag']==$this->props[0]){
                    $new_item['sku']=(int)$prop['value'];
                } else {
                    if ($prop['tag'] == $this->props[1]) {
                        $new_item['name']=$prop['value'];
                    } else {
                        if ($prop['tag'] == $this->props[2]) {
                            $new_item['price']=(float)$prop['value'];
                        } else {
                            if ($prop['tag'] == $this->props[3]) {
                                $new_item['is_spec']=(float)$prop['value'];
                            } else {
                                if ($prop['tag'] == $this->props[4]) {
                                    $new_item['spec_price']=(float)$prop['value'];
                                } else {
                                    if ($prop['tag'] == $this->props[5]) {
                                        $new_item['old']=(float)$prop['value'];
                                    }
                                }
                            }
                        }
                    }
                }
            }

    XML бессмысленный и беспощадный

    Запостил: madfriend, 02 Октября 2013

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

    • код-гармошка, в книжках по рефакторингу есть рецепты по исправлению такого, да и на просторах инета:

      http://www.rsdn.ru/article/net/BadCode.xml
      Ответить
    • Да просто кому-то впадлу было писать else if в одну строку, тогда б не было такого говна.
      Ответить
      • <mode type="jedy">Тут нужен цикл.</mode>
        Ответить
        • причем цикл уже есть
          Ответить
        • $arr = array('sku', 'name', 'price', 'is_spec', 'spec_price', 'old')
          foreach ($item as $prop) {
              $tag = $prop['tag'];
              $key = $arr[index($this->props, $tag)];
              $new_item[$key] = $prop['value'];
              
          }

          Как-то так. Ну и сравнение через ==. Это если не обсуждать архитектуру (хранение в массиве с хуй пойми каким назначением элементов, собственно, это и есть главный говнокод).
          Ответить
          • Я тут по некоторой необходимости неделю изучаю Yii, который якобы супер популярный PHP framework, и люто сокрушаюсь как раз на тему того, что там все хранится в массивах с хуй пойми каким назначением элементов. PHP безнадежен...
            Ответить
      • показать все, что скрыто
        ~Клуб знакомств для геев~
        Познакомлюсь с парнем
                     Сделаю миньет, подставлю попку парню кавказской внешности.
                     Прут наглые хуястые самцы, желательно с большим членом, так как  
                     очко сильно раздолблено. Могу принять сразу до 3-х парней.
                    Пишите [email protected]  /Тарас/
        Ответить

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