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

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

    +162.4

    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
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    $(document).ready(function(){
    $("#dialog-a, #dialog-b, #dialog-c, #dialog-d, #dialog-e, #dialog-f, #dialog-g, #dialog-h, #dialog-i, #dialog-j, #dialog-k, #dialog-l, #dialog-m, #dialog-n, #dialog-o, #dialog-p, #dialog-q, #dialog-r, #dialog-s, #dialog-t, #dialog-u, #dialog-v, #dialog-w, #dialog-x, #dialog-y, #dialog-z").dialog(
    {
    	autoOpen: false,
    	buttons: { 'OK': function() { $(this).dialog("close"); } },
    	modal: true,
    	width: 200
    });
    	$("#button-a-dialog").click(function (event) {
    		$("#dialog-a").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-b-dialog").click(function (event) {
    		$("#dialog-b").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-c-dialog").click(function (event) {
    		$("#dialog-c").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-d-dialog").click(function (event) {
    		$("#dialog-d").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-e-dialog").click(function (event) {
    		$("#dialog-e").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-f-dialog").click(function (event) {
    		$("#dialog-f").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-g-dialog").click(function (event) {
    		$("#dialog-g").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-h-dialog").click(function (event) {
    		$("#dialog-h").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-i-dialog").click(function (event) {
    		$("#dialog-i").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-j-dialog").click(function (event) {
    		$("#dialog-j").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-k-dialog").click(function (event) {
    		$("#dialog-k").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-l-dialog").click(function (event) {
    		$("#dialog-l").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-m-dialog").click(function (event) {
    		$("#dialog-m").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-n-dialog").click(function (event) {
    		$("#dialog-n").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-o-dialog").click(function (event) {
    		$("#dialog-o").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-p-dialog").click(function (event) {
    		$("#dialog-p").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-q-dialog").click(function (event) {
    		$("#dialog-q").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-r-dialog").click(function (event) {
    		$("#dialog-r").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-s-dialog").click(function (event) {
    		$("#dialog-s").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-t-dialog").click(function (event) {
    		$("#dialog-t").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-u-dialog").click(function (event) {
    		$("#dialog-u").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-v-dialog").click(function (event) {
    		$("#dialog-v").dialog('open');

    pasha, 16 Февраля 2010

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

    +61.9

    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
    //Обьявление класса в хедере с последующей реализацией:
    template<class TConstructStrategy>
    class TClass
    {
    public:
    	TConstructStrategy __ctor;
                      //...Прочие методы...
    };
    
    //...Реализация прочих методов класса...
    
    //================================================================
    
    //Конструктор с переменным числом параметров, типа функтор:
    //Тоесть обьявлено где-то в коде проекта и передаётся, как параметр при конструировании.
    typedef void TConstract(int a);
    template<>
    TClass<TConstract>::TClass(int a)
    {
    	//doing...
    };
    
    int main(int argc, char* argv[])
    {
              //...
              TClass<TConstract> A(5);
              //...
    }

    Это говнокод, но не результат работы над проектом, а результат насмешек над компилятором MSVC 6.0.
    Основано на обявлении типа-функции:
    typedef void TConstract(int a);, но тк конструктор не функция - используется внутренее имя конструктора MSVC6.0:
    void __ctor(void);, согласно которому он всё-таки функция.
    __dtor - "внутренее" имя деструктора, кстати.
    Спалить "секретное" имя обычно можно в сообщениях об ошибках c участием этих имён. При входе в конструктор/деструктор через отладчик под дизасемблером(наверное). В стеке вызовов отладчика(наверное). Наверное ещё как-нибудь, например проходом HEX редактора по экзешнику компилятора и прилижащим dll...
    Итак для обсуждения (хотя и не собираюсь это использовать):
    1)Как ещё, кроме странных пергрузок, представленного выше метода конструктора-функтора, и вызовов типа A.__ctor(); / A.__dtor() это можно использовать?
    2)Какие "скрытые" имена конструкторов/деструкторов у других компиляторов? Я пробовал в MSVC6.0. В MSVS 2008 при первом расмотрении "внутреннее" имя другое и сходу не палится.
    Для примера приведу метод с "обычным" функтором (на самом деле он не самый обычный):

    //Обьявление класса в хедере с последующей реализацией:
    template<class TStrategy>
    class TClass
    {
    public:
    TStrategy func;
    //...Прочие методы...
    };

    //...Реализация прочих методов класса...

    //================================================================

    //Функтор:
    //Тоесть обьявлено где-то в коде проекта и передаётся, как параметр при конструировании.
    typedef void TFunc(void);
    template<>
    void TClass<TFunc>::func(void)
    {
    //doing...
    };
    int main(int argc, char* argv[])
    {
    //...
    TClass<TFunc> A;
    A.func();
    //...
    };

    fake_guest, 05 Февраля 2010

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

    +136

    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
    #define alias long
    #define int b
    #define cat 2
    alias int=cat;
    #undef int
    
    int a$(int b)
    {
      return 1;
    }
    
    main()
    {
      return a$(b)+1;
    }

    Здесь нет С++, зато есть... bash!
    На что спорим, что код возврата программы будет 1?

    nil, 05 Февраля 2010

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

    +101.5

    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
    if (imageContent != null)
                   context.Response.OutputStream.Write(imageContent, 0, imageContent.Length);
               else
               {
                   byte[] x = {0xff, 0xd8, 0xff, 0xe0, 0x0, 0x10, 0x4a, 0x46, 0x49, 0x46, 0x0, 0x1, 0x2, 0x0, 0x0, 0x64, 
    0x0, 0x64, 0x0, 0x0, 0xff, 0xec, 0x0, 0x11, 0x44, 0x75, 0x63, 0x6b, 0x79, 0x0, 0x1, 0x0, 
    0x4, 0x0, 0x0, 0x0, 0x1b, 0x0, 0x0, 0xff, 0xee, 0x0, 0xe, 0x41, 0x64, 0x6f, 0x62, 0x65, 
    0x0, 0x64, 0xc0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xdb, 0x0, 0x84, 0x0, 0x11, 0xc, 0xc, 0xc, 
    0xd, 0xc, 0x11, 0xd, 0xd, 0x11, 0x19, 0x10, 0xe, 0x10, 0x19, 0x1d, 0x16, 0x11, 0x11, 0x16, 
    0x1d, 0x22, 0x17, 0x17, 0x17, 0x17, 0x17, 0x22, 0x21, 0x1a, 0x1d, 0x1c, 0x1c, 0x1d, 0x1a, 0x21, 
    0x21, 0x26, 0x28, 0x2b, 0x28, 0x26, 0x21, 0x34, 0x34, 0x38, 0x38, 0x34, 0x34, 0x41, 0x41, 0x41, 
    0xff, 0xc4, 0x0, 0x75, 0x0, 0x1, 0x0, 0x3, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x5, 0x6, 0x4, 0x2, 0x1, 0x1, 0x1, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 
    0x1, 0x4, 0x1, 0x3, 0x1, 0x3, 0x6, 0xc, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0x1, 0x2, 0x3, 0x4, 0x11, 0x12, 0x5, 0x6, 0x21, 0x31, 0x71, 0x13, 0x41, 0x51, 0xa1, 0x22, 
    0xb3, 0x35, 0x61, 0x32, 0x52, 0x62, 0x33, 0x73, 0x14, 0x34, 0x74, 0x15, 0x36, 0x7, 0x91, 0x42, 
    0x92, 0xb2, 0xd2, 0x93, 0x54, 0x11, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xda, 0x0, 0xc, 0x3, 0x1, 0x0, 0x2, 0x11, 
    0x3, 0x11, 0x0, 0x3f, 0x0, 0xde, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0xc1, 0xef, 0x77, 0xe0, 0xdb, 0x64, 0xb5, 0xdf, 0x2e, 0xd4, 0xc7, 0x54, 0xbb, 0x1a, 0x6a, 0x8b, 
    0x43, 0xdc, 0xad, 0x73, 0x9b, 0xd5, 0x11, 0x75, 0x2a, 0xe3, 0x3e, 0x74, 0x35, 0x66, 0x5a, 0xc7, 
    0x2b, 0xde, 0x61, 0xb1, 0x2c, 0x4c, 0xe3, 0xd6, 0x65, 0x64, 0x6f, 0x73, 0x5b, 0x22, 0x2c, 0x98, 
    0x7a, 0x35, 0x70, 0x8e, 0x4c, 0x40, 0xbd, 0xa0, 0x58, 0x71, 0x6b, 0x9b, 0x95, 0xbd, 0xa6, 0x37, 
    0x6e, 0x71, 0x49, 0x15, 0x98, 0xd5, 0x58, 0xae, 0x95, 0xaa, 0xc7, 0x48, 0xd4, 0x44, 0x56, 0xbf, 
    0xb, 0xde, 0x5c, 0x94, 0x7c, 0x6b, 0x91, 0xae, 0xfc, 0xcb, 0x2e, 0x5a, 0xdf, 0x65, 0x5a, 0xce, 
    0x6b, 0x55, 0xaa, 0xff, 0x0, 0x13, 0x3a, 0xb3, 0xf3, 0x19, 0x8c, 0x60, 0xbc, 0x0, 0x0, 0x0, 
    0xf8, 0x53, 0xd3, 0x82, 0xf4, 0x1, 0x94, 0xda, 0x39, 0xad, 0x3f, 0xd, 0xb4, 0xf7, 0xad, 0x54, 
    0xaf, 0xc2, 0x88, 0xc9, 0x56, 0x46, 0xae, 0x97, 0xb9, 0x3c, 0xbd, 0x13, 0xd5, 0x55, 0xf2, 0xe7, 
    0xa7, 0xc2, 0x75, 0x5f, 0xe7, 0x1b, 0x5, 0x48, 0xd5, 0x62, 0x9d, 0x6d, 0x4b, 0x8f, 0x56, 0x38, 
    0x91, 0x57, 0x3d, 0xee, 0x54, 0x46, 0xa1, 0x6f, 0x73, 0x6c, 0xdb, 0xaf, 0x63, 0xed, 0x95, 0xa2, 
    0x9d, 0x53, 0xa2, 0x2b, 0xd8, 0x8e, 0x72, 0x77, 0x2f, 0x6a, 0x10, 0xd5, 0xd8, 0xb6, 0x6a, 0x8f, 
    0xf1, 0x2b, 0xd2, 0x86, 0x39, 0x13, 0xb1, 0xe8, 0xc4, 0x57, 0x27, 0x72, 0xae, 0x55, 0x0, 0xa1, 
    0xe0, 0x14, 0xae, 0x57, 0xad, 0x72, 0xcd, 0x98, 0x5d, 0xb, 0x2d, 0x48, 0xd7, 0x44, 0x8f, 0xe8, 
    0xaa, 0x89, 0xab, 0x2b, 0x85, 0xeb, 0x8f, 0x58, 0xd7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xd9};

    'Канал форума программистов VIngrad
    p.s. пришлось убрать большую часть байтов.

    Nemerle, 03 Февраля 2010

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

    +72.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    this->pRCH->setChckSize(this->pRCH->getChckSize() + 
    this->pvRP->at(this->pvRP->size() - 1)->getRHBidR()->getRHBSize()
     + sizeof(*this->pvRP->at(this->pvRP->size() - 1)->getRHBidR()->getRHBid()));
    this->pRBCH->setChckSize(this->pRBCH->getChckSize() + 
    this->pvRP->at(this->pvRP->size() - 1)->getRHBR()->getRHB()->getRBSize());

    Автор кода отчаянно доказывал прямоту кода...

    Methos, 28 Января 2010

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

    −372.7

    1. 1
    ssh root@localhost

    вместо su

    jdponomarev, 10 Января 2010

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

    +148

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <? if (!$isLogged) {
        echo '
    	<table class="br-table" align="center" cellspacing="0" cellpadding="0">
    			<tr>
    			<td class="corner-lt"></td>
    			<td class="left-br-top"></td>
    			<td class="corner-rt"></td>
    			</tr>
    			<tr>
    			<td colspan="3" class="box">
    			<h1 class="h1-title" ><img src="img/star.png">';
    блаблабла

    Да, и <? if(): ?> <?endif;?> их тоже не учили :(

    azzz, 28 Декабря 2009

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

    −110

    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
    Процедура ТабличноеПоле1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
        // при выводе строки в ТабличноеПоле1, перебор ячеек строки
     
        Для Каждого Ячейка Из ОформлениеСтроки.Ячейки Цикл
            // если имя текущей ячейки "НормаВремени"
     
            Если Ячейка.Имя = "НормаВремениТекст" Тогда     
                // получить норму времени текущего поста охраны на текущую дату и вывести в соотв. ячейку Тч
     
                Запрос = Новый Запрос;
                Запрос.Текст =
                    "ВЫБРАТЬ
                    |    НормыВремениПоПостамСрезПоследних.Период,
                    |    НормыВремениПоПостамСрезПоследних.ПостОхраны,
                    |    НормыВремениПоПостамСрезПоследних.НормаВремени
                    |ИЗ
                    |    РегистрСведений.НормыВремениПоПостам.СрезПоследних(&ВыбДата) КАК НормыВремениПоПостамСрезПоследних
                    |ГДЕ
                    |    НормыВремениПоПостамСрезПоследних.ПостОхраны = &Пост";
                Запрос.УстановитьПараметр("ВыбДата",ТекущаяДата());
                Запрос.УстановитьПараметр("Пост",   ДанныеСтроки.Ссылка);
                ТекНормаВремени = Запрос.Выполнить().Выгрузить();    
                //ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока[Ячейка.Имя].Значение = ТекНормаВремени[0].НормаВремени;
     
                ОформлениеСтроки.Ячейки["НормаВремениТекст"].ОтображатьТекст = Истина;
                //ОформлениеСтроки.Ячейки["НормаВремениТекст"].Значение        = ТекНормаВремени[0].НормаВремени;
     
                ОформлениеСтроки.Ячейки["НормаВремениТекст"].Текст           = ТекНормаВремени[0].НормаВремени;
            КонецЕсли;
        КонецЦикла;
    КонецПроцедуры

    веселый цикл

    Vezunchik, 11 Декабря 2009

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

    +69.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    vector<int> :: iterator itBegins = array.begin(); 
    vector<int> :: iterator itEnds = array.end();
    
    while(itBegins != itEnds)
    {
             pVec.pop_back();
             it++;
    }

    Сей артефакт остался в коде ввиду лености переписывать его в 100 файлах сразу после удаления того, ради чего собственно затевался while(!pVec.empty()) ... прямо скажем - отлов ЭТОГО занял немало времени и нервов... тк на первый взгляд оно должно... а что ты видишь в этом коде, %юзернейм% ?

    (исправленная версия XD )

    Zeks, 02 Ноября 2009

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

    +146.6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    ...
    protected $default_storage = NULL;
    
    ...
    
    public function getDefaultStorage(){
        return $this->getDefaultStorage();
    }
    
    ...

    Почему виснет, емн?
    Заработался =)

    llllllllll, 28 Октября 2009

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