1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #18204

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $act = isset($_REQUEST['act']) ? $_REQUEST['act'] : '';
    	
    	if ($act == 'details') {
    		orders_details();
    	} elseif ($act == 'details_xls') {
    		orders_details_xls();
    	} elseif ($act == 'set_status') {
    		orders_set_status();
    	// ... ещё строчек 30
    	} else {
    		orders_list();
    	}

    Так мы реализуем роутер

    Tairesh, 20 Мая 2015

    Комментарии (5)
  3. PHP / Говнокод #18200

    +142

    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
    foreach ($id as $k) {
    		//Помним, что меньший id всегда пишется первым
    		if ($firm_id < $k)
    			{ $a = 1; $b = 2; }
    		else
    			{ $a = 2; $b = 1; }
    			if ($_REQUEST['submit'] == 1) {
                                    //  ...
    			}
    			if ($_REQUEST['submit'] > 1) {
    				sql_query("UPDATE partners SET ".$type.$a.$b." = 1, firm{$a}_date = {$NOW} WHERE firm{$a} = $firm_id AND firm{$b} = $k");
                                    //  ...
    			}
    	}
    }

    А Вы знаете что будет если -1 отправить?)

    dimka3210, 19 Мая 2015

    Комментарии (5)
  4. C# / Говнокод #18198

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    // ...
    
    Action updatingLoadedItemsList = null;
    
    foreach (Item loadedItem in loadedItems)
        if (loadedItem.Id == currentItem.Id)
            updatingLoadedItemsList = () => loadedItems.RemoveAt(loadedItems.IndexOf(loadedItem));
    
    if(updatingLoadedItemsList != null)
        updatingLoadedItemsList.Invoke();
    	
    // ...

    pushistayapodmyshka, 19 Мая 2015

    Комментарии (10)
  5. C++ / Говнокод #18188

    +142

    1. 1
    2. 2
    #define ns 7
    #define nfio 15

    Клевый стиль определения глобальных констант

    KGOH, 17 Мая 2015

    Комментарии (12)
  6. C++ / Говнокод #18182

    +142

    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
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
        String Stroka, Str;
        int DlinnaStroki, Position, Schetchik, i , j , x;
    
        Stroka=Edit1->Text;
        DlinnaStroki = Stroka.Length();
        String SimvolRazdelitel=" ";
    
        //модификация строки для добавления последнего слова
        Stroka = Stroka + SimvolRazdelitel;
    
        //вычисляет количество пробелов в строке
        Schetchik = 1;
        for (x = 1; x < DlinnaStroki; x++)
        {
            if (Stroka[x] == *SimvolRazdelitel.c_str())
                Schetchik = Schetchik + 1;//количество разделительных символов
        }
    
        //разделяет строку по символу на слова
        for (j = 0; j < Schetchik; j++)
        {
            Position = Stroka.Pos(SimvolRazdelitel);//разделительный символ
            for (i = 1; i < Position; i++)
                Str = Str + Stroka[i];
            Stroka.Delete(1,Position);
            Memo1->Lines->Add(Str);//слово добавляется сюда
            Str = "";
        }
    }

    vr8h, 16 Мая 2015

    Комментарии (1)
  7. C++ / Говнокод #18181

    +142

    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
    String notE(double exp)
    {
        if (exp < 0.0001 && exp > 0)//положительное число
        {
            exp += 0.0001;
            String str = exp;
    //        str.c_str()[1] = ',';//принудительный децимальный сепаратор
            str.c_str()[5] = '0';
            return str;
        }
        
        if (exp > -0.0001 && exp < 0)//отрицательное число
        {
            exp -= 0.0001;
            String str = exp;
    //        str.c_str()[2] = ',';//принудительный децимальный сепаратор
            str.c_str()[6] = '0';
            return str;
        }
    
        return exp;//большие числа, либо ноль
    }

    Принудительно отменяет научный формат

    vr8h, 16 Мая 2015

    Комментарии (0)
  8. JavaScript / Говнокод #18180

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    }
                        if(selector.length!=0 && selector.charAt(0)=='z'){
                            $('html').find(selector.substr(1,selector.length))
                                .attr('value',value);
                        }

    проект-клондайк, пример с сегодняшнего коммита

    makc3d, 16 Мая 2015

    Комментарии (2)
  9. JavaScript / Говнокод #18162

    +142

    1. 1
    var x = _.without.bind(_, someArray).apply(_, anotherArray);

    Человек не был знаком с методом difference в underscore

    syxov, 14 Мая 2015

    Комментарии (0)
  10. PHP / Говнокод #18161

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <?php
    class ModelCheckoutOrder extends Model {
    	public function addOrder($data) {
    		$this->event->trigger('pre.order.add', $data);
    		$this->db->query("INSERT INTO `" . DB_PREFIX . "order` SET invoice_prefix = '" . $this->db->escape($data['invoice_prefix']) . "', store_id = '" . (int)$data['store_id'] . "', store_name = '" . $this->db->escape($data['store_name']) . "', store_url = '" . $this->db->escape($data['store_url']) . "', customer_id = '" . (int)$data['customer_id'] . "', customer_group_id = '" . (int)$data['customer_group_id'] . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', custom_field = '" . $this->db->escape(isset($data['custom_field']) ? serialize($data['custom_field']) : '') . "', payment_firstname = '" . $this->db->escape($data['payment_firstname']) . "', payment_lastname = '" . $this->db->escape($data['payment_lastname']) . "', payment_company = '" . $this->db->escape($data['payment_company']) . "', payment_address_1 = '" . $this->db->escape($data['payment_address_1']) . "', payment_address_2 = '" . $this->db->escape($data['payment_address_2']) . "', payment_city = '" . $this->db->escape($data['payment_city']) . "', payment_postcode = '" . $this->db->escape($data['payment_postcode']) . "', payment_country = '" . $this->db->escape($data['payment_country']) . "', payment_country_id = '" . (int)$data['payment_country_id'] . "', payment_zone = '" . $this->db->escape($data['payment_zone']) . "', payment_zone_id = '" . (int)$data['payment_zone_id'] . "', payment_address_format = '" . $this->db->escape($data['payment_address_format']) . "', payment_custom_field = '" . $this->db->escape(isset($data['payment_custom_field']) ? serialize($data['payment_custom_field']) : '') . "', payment_method = '" . $this->db->escape($data['payment_method']) . "', payment_code = '" . $this->db->escape($data['payment_code']) . "', shipping_firstname = '" . $this->db->escape($data['shipping_firstname']) . "', shipping_lastname = '" . $this->db->escape($data['shipping_lastname']) . "', shipping_company = '" . $this->db->escape($data['shipping_company']) . "', shipping_address_1 = '" . $this->db->escape($data['shipping_address_1']) . "', shipping_address_2 = '" . $this->db->escape($data['shipping_address_2']) . "', shipping_city = '" . $this->db->escape($data['shipping_city']) . "', shipping_postcode = '" . $this->db->escape($data['shipping_postcode']) . "', shipping_country = '" . $this->db->escape($data['shipping_country']) . "', shipping_country_id = '" . (int)$data['shipping_country_id'] . "', shipping_zone = '" . $this->db->escape($data['shipping_zone']) . "', shipping_zone_id = '" . (int)$data['shipping_zone_id'] . "', shipping_address_format = '" . $this->db->escape($data['shipping_address_format']) . "', shipping_custom_field = '" . $this->db->escape(isset($data['shipping_custom_field']) ? serialize($data['shipping_custom_field']) : '') . "', shipping_method = '" . $this->db->escape($data['shipping_method']) . "', shipping_code = '" . $this->db->escape($data['shipping_code']) . "', comment = '" . $this->db->escape($data['comment']) . "', total = '" . (float)$data['total'] . "', affiliate_id = '" . (int)$data['affiliate_id'] . "', commission = '" . (float)$data['commission'] . "', marketing_id = '" . (int)$data['marketing_id'] . "', tracking = '" . $this->db->escape($data['tracking']) . "', language_id = '" . (int)$data['language_id'] . "', currency_id = '" . (int)$data['currency_id'] . "', currency_code = '" . $this->db->escape($data['currency_code']) . "', currency_value = '" . (float)$data['currency_value'] . "', ip = '" . $this->db->escape($data['ip']) . "', forwarded_ip = '" .  $this->db->escape($data['forwarded_ip']) . "', user_agent = '" . $this->db->escape($data['user_agent']) . "', accept_language = '" . $this->db->escape($data['accept_language']) . "', date_added = NOW(), date_modified = NOW()");

    Я вас еще немного помучаю, хорошо?
    3978 символов, считая отступы

    https://github.com/opencart/opencart/blob/d5f66b0d75a5adf35815e333e45598bbc38750d0/upload/catalog/model/checkout/order.php#L6

    Fike, 14 Мая 2015

    Комментарии (11)
  11. JavaScript / Говнокод #18158

    +142

    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
    26. 26
    27. 27
    28. 28
    (function($){
    
      function pickMenuByHash(hash) {
    
        if(hash == undefined || hash == '' || hash == '#')
          hash = '#home'; // хеш по умолчанию
    
        // Выбираем ссылки с нужным хешем, чтро бы потом присвоить им класс "active"
        var A_tags = $('a[href="' + hash + '"]');
        
        // Ищем все ссылки в родительском теге UL относительно ссылок и удаляем у них классы "active"
        A_tags.parents('UL').find('a').removeClass('active');
    
        // Добавляем к ссылкам с нужным нам хешем класс "active"
        $('a[href="' + hash + '"]').addClass('active');
      }
    
      // Обновить состояние менюшек (сверху и справа) при загрузке страницы
      $(function(){
        pickMenuByHash(document.location.hash);
      });
    
      // При изменении хеша обновить состояния менюшек (сверху и справа)
      $(window).on('hashchange', function(){
        pickMenuByHash(document.location.hash);
      });
    
    })(jQuery);

    Вот тебе при изменении хеша на сайте верхнее и правое меню будет в актуальном для хеша состоянии.

    littlefuntik, 13 Мая 2015

    Комментарии (22)