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

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $temp = $this->user->get($value['user_id']);
    foreach ($temp as $var) {
    	$temp = $var;
    	break;
    }

    Просматривал код курсвых по web-программированию, нашел новейший метод извлечения первого элемента массива

    skad0, 13 Января 2016

    Комментарии (19)
  3. 1C / Говнокод #19101

    −98

    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
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    Перем ОписаниеФормы;
    	
    	ОписаниеФормы = Новый Структура;
    	ОписаниеФормы.Вставить("ТипОбъектаФормы", Неопределено);
    	ОписаниеФормы.Вставить("ТипФормы", Неопределено);
    	ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", Неопределено);
    	ОписаниеФормы.Вставить("СсылкаНаФорму", ФормаКлиента);
    	
    	Попытка
    		ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.ОбработкаОбъект)).Имя);
    		ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", ФормаКлиента.ОбработкаОбъект.Ссылка);
    		ОписаниеФормы.Вставить("ТипФормы", "Обработка");
    	Исключение
    	КонецПопытки;
    	
    	Попытка
    		ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.ДокументСписок)).Имя);
    		ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", Неопределено);
    		ОписаниеФормы.Вставить("ТипФормы", " ДокументСписок");
    	Исключение
    	КонецПопытки;
    	
    	Попытка
    		ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.ДокументОбъект)).Имя);
    		ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", ФормаКлиента.ДокументОбъект.Ссылка);
    		ОписаниеФормы.Вставить("ТипФормы", "Документ");
    	Исключение
    	КонецПопытки;
    	
    	Попытка
    		ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.СправочникСписок)).Имя);
    		ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", Неопределено);
    		ОписаниеФормы.Вставить("ТипФормы", "СправочникСписок");
    	Исключение
    	КонецПопытки;
    	
    	Попытка
    		ОписаниеФормы.Вставить("ТипОбъектаФормы", Метаданные.НайтиПоТипу(ТипЗнч(ФормаКлиента.СправочникОбъект)).Имя);
    		ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", ФормаКлиента.СправочникОбъект.Ссылка);
    		ОписаниеФормы.Вставить("ТипФормы", "Справочник");
    	Исключение
    	КонецПопытки;
    	
    	Попытка	//если в самой форме описан её тип...
    		ОписаниеФормы.Вставить("ТипОбъектаФормы", ФормаКлиента.ТипОбъектаФормы);
    		ОписаниеФормы.Вставить("СсылкаНаОбъектФормы", ФормаКлиента.СсылкаНаОбъектФормы);
    		ОписаниеФормы.Вставить("ТипФормы", ФормаКлиента.ТипФормы);
    	Исключение
    	КонецПопытки;
    	
    	Возврат ОписаниеФормы;

    Более "эвристического" метода чем N попыток аффтар видимо придумать не смог. Всё бы ничего, пытайся на здоровье, просто есть люди которые иногда включают режим отладки "остановка по ошибке"... бесит...

    levxxx, 27 Ноября 2015

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

    −96

    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
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    	|	ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) КАК Контрагент,
    	|	ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) КАК ТорговаяТочка,
    	|	0 КАК ЛимитСумма,
    	|   0 КАК ЛимитСрок,
    	|   0 КАК ПросроченаСумма,
    	|   0 КАК ПросроченоДней,
    	|	0 КАК ОтгрузкаРазрешена,
    	|   Значение(Документ.РеализацияТоваровУслуг.ПустаяСсылка) КАК Документ,
    	|	0 КАК Сумма
    	|";
    РезультатЗапроса = Запрос.Выполнить();
    ТаблицаДЗ = РезультатЗапроса.Выгрузить();
    Результаты.Вставить("АктуальнаяДЗСумма", ТаблицаДЗ);

    Кто может объяснить мне сакральный смысл этого запроса?

    jerokee, 01 Октября 2015

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

    +1010

    1. 1
    $obj = new Task(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null);

    Когда аргументов не осталось :(

    P.S: Когда конструктор хочет слишком многого (нужно установить всего одно свойство - извещение об ошибке).

    CMTV, 05 Августа 2015

    Комментарии (19)
  6. Куча / Говнокод #18453

    +142

    1. 1
    http://habrahabr.ru/post/72959/

    Сразу прошу извинить...

    1. за хабр ;(
    1. за баянизм - ссылка на этот пост уже была на гк.

    Знаю по опыту, что объекты в делфи инициализируются мусором.
    "В Delphi это не представляет никаких трудностей, так как любой объект еще до передачи управления конструктору инициализируется нулями." - выебать бы маму автора сего пёрла.

    Stertor, 09 Июля 2015

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

    −105

    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
    Г = 0;
    Пока Г = 0 Цикл
    	ПОПЫТКА
    		Док.РазрешитьОтгрузку = Перечисление.Булево.Да;
    		Док.Записать();
    	ИСКЛЮЧЕНИЕ
    		Сообщить("" + Г + " : Документ " + Док.НомерДок + " заблокирован. Пробую еще раз ...");
    		Если Г > 20 Тогда
    			Сообщить("Неудачка...");
    			Прервать;
    		КонецЕсли;
    	КОНЕЦПОПЫТКИ;
    	Г = Г + 1;
    КонецЦикла;

    dsfix, 19 Июня 2015

    Комментарии (19)
  8. PHP / Говнокод #18191

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    /* Convert IP address to unsigned long int. */
    function ip2ulong($ip) {
        return sprintf("%u", ip2long32($ip));
    }

    https://github.com/pfsense/pfsense/blob/master/etc/inc/util.inc#L414-L417

    Продолжаем осторожно идти дальше. Это нормально вообще? Да, я видел всякие смехуёчки с магическим приведением типов в PHP и JS, так что наверняка оно где-то правильно конвертится и все работает несмотря ни на что и вопреки. Может, это даже нормальная практика в мире PHP, но мне страшно.

    superhacker777, 17 Мая 2015

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

    +144

    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
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    function order_to() {
        jQuery.ajax({
            type: "POST",
            url: url+'/saveMethod/',
            data: {
                "method": "guest"
            },
            success: function(success) {
                console.log(success);
                jQuery.ajax({
                    type: "POST",
                    url: url+'/saveBilling/',
                    data: {
                        "billing[address_id]": "",
                        "billing[firstname]": "Test",
                        "billing[lastname]": "Query",
                        "billing[company]": "",
                        "billing[email]": "[email protected]",
                        "billing[street][]": "Street",
                        "billing[city]": "City",
                        "billing[region_id]": "",
                        "billing[region]": "",
                        "billing[postcode]": "50",
                        "billing[country_id]": "UA",
                        "billing[telephone]": "+100500",
                        "billing[fax]": "",
                        "billing[customer_password]": "",
                        "billing[confirm_password]": "",
                        "billing[save_in_address_book]": "1",
                        "billing[use_for_shipping]": "1"
                    },
                    success: function(success) {
                        console.log(success);
                        jQuery.ajax({
                            type: "POST",
                            url: url+'/saveShippingMethod/',
                            data: {
                                "shipping_method": "flatrate_flatrate"
                            },
                            success: function(success) {
                                console.log(success);
                                jQuery.ajax({
                                    type: "POST",
                                    url: url+'/savePayment/',
                                    data: {
                                        "payment[method]": "checkmo"
                                    },
                                    success: function(success) {
                                        console.log(success);
                                        var reg = /\/form_key\/(.*?)\/\'\)/;
                                        var raw = jQuery('button.button.btn-cart').attr('onclick');
                                        if (raw == undefined) {
                                            key_form = jQuery('form input[name=form_key]').val();
                                        } else {
                                            var key_form = reg.exec(raw)[1];
                                        };
                                        console.log(key_form);
    
                                        jQuery.ajax({
                                            type: "POST",
                                            url: url+'/saveOrder/form_key/' + key_form + '/',
                                            data: {
                                                "payment[method]": "checkmo"
                                            },
                                            success: function(success) {
                                                console.log(success);
                                            }
                                        });
                                    }
                                });
                            }
                        });
                    }
                });
            }
        });
    }
    order_to();
    order_to();

    Каскадный запрос на jQuery на подтверждение заказа в Magento загнан в функцию и вызывается два раза, потому что с первого не проходит. А еще в одном блоке токен получается из артибута узла через регулярку...

    stail, 16 Мая 2015

    Комментарии (19)
  10. JavaScript / Говнокод #17839

    +154

    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
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    	<title></title>
    </head>
    <body>
    
    </body>
    </html>
    
    <script>
    
    var text = "adsdmdlmf 34vfvf";
    var regex = /\s /
    if (regex != 0){
    	alert("Тут два слова")
    }
    else {
    	alert("Тут одно слово")
    }
    </script>

    Первый говнопост (задача проверить является ли текст одним словом)

    kychagovn, 22 Марта 2015

    Комментарии (19)
  11. VisualBasic / Говнокод #17728

    −121

    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
    32. 32
    33. 33
    34. 34
    35. 35
    If ((ind_imit_gun = 0) And _
                ((input_B_LA2 And shop) = shop) And _
                ((input_B_LA2 And loading) = loading) And _
                ((input_B_LA2 And lonely) = lonely) And _
                (input_A_LA48 And choice_k) = choice_k) _
                Or ((ind_imit_gun = 0) And _
                ((input_B_LA2 And shop) = shop) And _
                ((input_B_LA2 And loading) = loading) And _
                ((input_B_LA2 And mashin) = mashin) And _
                (input_A_LA48 And choice_k) = choice_k) _
                Or ((ind_imit_gun = 1) And _
                ((input_B_LA2 And shop) = shop) And _
                ((input_B_LA2 And loading) = loading) And _
                ((input_B_LA2 And lonely) = lonely) And _
                (input_A_LA48 And choice_k) = choice_k) _
                Or ((ind_imit_gun = 2) And _
                ((input_B_LA2 And loading) = loading) And _
                ((input_B_LA2 And lonely) = lonely) And _
                (input_A_LA48 And choice_k) = choice_k) _
                Or ((ind_imit_gun = 2) And _
                ((input_B_LA2 And loading) = loading) And _
                ((input_B_LA2 And mashin) = mashin) And _
                (input_A_LA48 And choice_k) = choice_k) _
                Or ((ind_imit_gun = 3) And _
                ((input_B_LA2 And loading) = loading) And _
                ((input_B_LA2 And mashin) = mashin) And _
                (input_A_LA48 And choice_k) = choice_k) _
                Or ((ind_imit_gun = 4) And _
                ((input_B_LA2 And loading) = loading) And _
                ((input_B_LA2 And lonely) = lonely) And _
                (input_A_LA48 And choice_k) = choice_k) _
                Or ((ind_imit_gun = 6) And _
               ((input_B_LA2 And loading) = loading) And _
                ((input_B_LA2 And lonely) = lonely) And _
                (input_A_LA48 And choice_k) = choice_k) Then

    Вот такая страшная проверка нужных битов битовыми масками используется в одном военном ПО xD
    И на мой взгляд тут есть ошибки,но почему то работает.

    Ramirag, 05 Марта 2015

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