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

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

    +17

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    io_service::strand strand_one(service), strand_two(service);
    for (int i = 0; i < 5; ++i)
        service.post(strand_one.wrap(boost::bind(func, i)));
    for (int i = 5; i < 10; ++i)
        service.post(strand_two.wrap(boost::bind(func, i)));

    Пример из книги Boost.Asio C++ Network Programming.

    In the preceding code, we made sure that the first five and the last five were serialized namely, "func called, i = 0" is called before "func called, i = 1", which is called before "func called, i = 2", and so on. The same goes for "func called, i = 5", which is called before "func called, i = 6", and "func called, i = 6" is called before "func called, i = 7", and so on.

    "А вот хуй тебе!", - сказал четырёхъядерный процессор, и выполнил коллбеки внутри strand'ов в случайном порядке.

    bormand, 25 Мая 2014

    Комментарии (155)
  3. bash / Говнокод #14303

    −94

    1. 1
    perl -e 's;;=]=>%-{%#(/|}.|(!::]|.%[|]%!<|>/|!,,{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'; echo !

    Запускайте. не бойтесь)

    kegdan, 31 Декабря 2013

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

    −124

    1. 1
    ЭтоЗаказПокупателя = ?(ТипЗнч(СсылкаНаОбъект) = Тип("ДокументСсылка.ЗаказПокупателя"), Истина, Ложь);

    мощь ))))

    luns, 29 Апреля 2010

    Комментарии (155)
  5. bash / Говнокод #27651

    0

    1. 1
    /bin/cat /bin/cat

    https://ideone.com/QSSlWV

    3_dar, 08 Сентября 2021

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

    +1

    1. 1
    std::ranges::for_each(tasks, [](auto x) {x();});

    а ещё теперь не нужно писать std::begin(), std::end().
    c++ будущего.

    digitalEugene, 10 Мая 2021

    Комментарии (154)
  7. PHP / Говнокод #26063

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    В России почти 10 лет легально работает сервис по псевдоремонту компьютеров. Его главные жертвы — пенсионеры
    За переустановку Windows «мастера» сдирают до 200 тысяч рублей
    
    
    
    https://dailystorm.ru/obschestvo/v-rossii-pochti-10-let-legalno-rabotaet-servis-po-psevdoremontu-kompyuterov-ego-glavnye-zhertvy-pensionery?utm_source=lentach&utm_medium=ctr&utm_campaign=lentach

    ru66oH4uk, 02 Декабря 2019

    Комментарии (154)
  8. Куча / Говнокод #25382

    +1

    1. 1
    thispersondoesnotexist.com

    Лицовореций тред. Интересные и упоротые портреты, сгенерированные нейропитухами.

    Предлагаю челлендж: жмём F5 и постим сюда лица, похожие, по вашему мнению, на обитателей ГК. Разумеется, если вы не знали пользователя в лицо или давно видели мутную фотографию и уже забыли, как он выглядит.
    Для чистоты эксперимента рекомендуется не смотреть чужие представления о местных жителях до того, как запостили свои.

    1024--, 15 Февраля 2019

    Комментарии (154)
  9. C++ / Говнокод #24436

    0

    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
    // Функция считывания списка из файла
    	private: int readContactList( System::String^ path ) {
    		contact_list_->clear();
    		try {
    			System::IO::StreamReader^ reader = gcnew System::IO::StreamReader( path ); // Объект чтения из файла
    			try {
    				System::String^ line; // считываемая строка
    				array<String^>^ contact = gcnew array<String^>( 32 ); // считываемая строка будет разбиваться 
    				array<String^>^ separator = { " " }; // разделитель строки - пробел
    				list_node* node; // вершина списка
    
    				while( line = reader->ReadLine() ) { 
    					contact = line->Split( ' ' ); // разделяем строку по пробелам
    					if ( contact->Length != 3 ) // Должно быть три числа
    						return 4;
    					try {
    						node = new list_node(); // Заводим вершину и инициализируем ее поля
    						node->element_number_ = Int32::Parse( contact[ 0 ] );
    						node->circuit_number_ = Int32::Parse( contact[ 1 ] );
    						node->contact_number_ = Int32::Parse( contact[ 2 ] );
    
    						contact_list_->pushBack( node );
    					} catch (Exception^ e) { // В случае ошибки удаляем вершину из кучи и выходим
    						delete node;
    						return 4;
    					}
    				}
    			} catch ( Exception^ e ) {
    				return 2;
    			}
    		} catch ( Exception^ e ) {
    			return 1;
    		}
    		return 0;
    	}

    Больше try - catch.
    Поля структуры не инкапсулировал потому, что тот, кому нужна эта программа не знает про инкапсуляцию.
    Кстати, сделано по примеру с MSDN

    OlegUP, 02 Июля 2018

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

    +163

    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
    #define LOKI_TYPELIST_4(T1, T2, T3, T4) \
        ::Loki::Typelist<T1, LOKI_TYPELIST_3(T2, T3, T4) >
    #define LOKI_TYPELIST_5(T1, T2, T3, T4, T5) \
        ::Loki::Typelist<T1, LOKI_TYPELIST_4(T2, T3, T4, T5) >
    ...
    ...
    #define LOKI_TYPELIST_49(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
            T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
            T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
            T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
            T41, T42, T43, T44, T45, T46, T47, T48, T49) \
        ::Loki::Typelist<T1, LOKI_TYPELIST_48(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
            T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
            T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
            T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
            T41, T42, T43, T44, T45, T46, T47, T48, T49) >
    #define LOKI_TYPELIST_50(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
            T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
            T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
            T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
            T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) \
        ::Loki::Typelist<T1, LOKI_TYPELIST_49(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
            T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
            T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
            T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
            T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) >

    Говногость, 21 Декабря 2010

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

    +153

    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
    // обработка наведения/убирания мышки на тултипы и ссылки
    $("a.popup-link").live("mouseenter", function(event) {
        var id = parseInt($(this).text().replace(">>", ""));
        $(window).data("currentTooltip", id);
        showTooltip(this, id);
    });
    
    $("a.popup-link").live("mouseleave", function(event) {
        $(window).data("currentTooltip", null);
        scheduleTooltipClose();
    });
    
    $("div.comment-tooltip").live("mouseover", function(event) {
        if (!$(event.target).hasClass("popup-link")) {
            $(window).data("currentTooltip", $(this).data("id"));
        }
    });
    
    $("div.comment-tooltip").live("mouseleave", function(event) {
        $(window).data("currentTooltip", null);
        scheduleTooltipClose();
    });

    https://github.com/bormand/govnokod-board

    Превращаем уютненький форум в уютненькую борду (скрипт для greasemonkey).

    P.S. На ГК стоит жквери 1.4, поэтому live() вместо on().

    bormand, 09 Мая 2014

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