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

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

    −106

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    @implementation ESpeaker
    
    EParticipantQueryGettersGroupForTypeWithSuffix(Speaker,SESSION_COUNT_OFF,LIKES_ON FAV_ON,kEDBAccessorTypePoolEventAndPrivate,ZERO_SESSION_COUNT_ON,);
    EParticipantQueryGettersGroupForTypeWithSuffix(Speaker,SESSION_COUNT_ON_WITH_TYPE,LIKES_ON FAV_ON,kEDBAccessorTypePoolEventAndPrivate,ZERO_SESSION_COUNT_OFF,WithSessionCount);
    
    @end

    От авторов Objective-C говнокода месяца!
    Первый в истории программирования класс, полностью реализованный на дефайнах!

    Продолжение в комментариях!

    Headless, 11 Июля 2013

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

    +137

    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
    // "Красная Шапочка, ты снова - девочка. Тимур и его команда" :-)
    
    // Почему-то в случае типа picture сюда передавалось вместо GUID-а заглушки такая вот строковая константа
    // так как надо было срочно делать, было сделано так. Потом было исправлено, но удалять эту строчку страшно.
    // Вдруг ещё работать перестанет.
    
    // TODO: Исключить из backup коллекцию colAbbreviation
    // Все объекты в ней бэкапятся внутри DataDeduplication.SaveAbbreviation
    // Или не надо? Лучше синица в руках, чем утка под кроватью... :-)
    // Ну-ка, ну-ка... Может, она раньше выполнялась, и об этом что-то известно?
    
    // Вызываем клиента в другом потоке, иначе - фигня-с...
    
    // Кажется "добрые люди" уже удалили этот классификатор...
    
    // Начать их переделывать - рухнет что-нить в другом месте, 
    // а низзя - скоро нужна рабочая версия... :-)
    
    // Таким вот финтом ушами(из-за бага) заставляем перейти фокус на последнюю строку :-)
    
    // к сожалению - Z-Order окон из WinForms недоступен - придется запоминать только активное окно
    //(можно конечно было прикрутиться к WinAPI - но не кошерно это :-) )
    
    // God mode :-)
    
    // Пытаемся получить "человеческий" sid для ADObject
    
    // Спасибо дата-провайдеру Oracle за счастливое детство и невозможность попользоваться
    // параметрами при сложном запросе с произвольным размещением параметров в запросе :-(
    
    // нехорошо так делать - но переписывать форму редактирования позиции пока не будем -
    // может что нибудь отъехать перед сдачей :-(
    
    /// <summary>
    /// Очень грязный хак - для того, чтобы хоть как-то заставить грид отобразить
    ///"+" для строк слева
    /// </summary>
    void DirtyHack()

    Продакшен-код. Комментарии

    dormendo, 05 Июля 2013

    Комментарии (25)
  4. Куча / Говнокод #13228

    +126

    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
    Здравствуй, анон. Хочу представить тебе свой взглад на этот сайт.
    Первое время здесь выкладывались действительно годные
    говнокоды с двачей и других имиджборд, но теперь каждый
    желающий может написать что-то свое.
    Иногда это, сука, раздражает. Не всем всегда охота слушать
    сопливое нытье прыщавого нью хикке о том или другом языке,
    например. Как отличить, годный говнокод или нет? Ответ прост.
    Имхо, каждый говнокод с порядковым номером
    больше 1500 чаще всего оказывается калом фекалоида.
    Я могу объяснить это тем, что вначале здесь сидели вполне
    себе адекватные ребята, но вот, и на этот сайт перекинулась
    раковая клетка. Новые говнокоды читать просто неинтересно. 
    Пожалуйста, анон, читай действительно годные говнокоды,
    не забивай свою относительно чистую голову всяким дешевым бредом.
    Не надо.

    Stertor, 24 Июня 2013

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

    +16

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    #define Throw(exc, msg) do {  \
       std::stringstream exc_str; \
       exc_str << __FILE__ << ":" << __LINE__ \
       << ": " << __func__ << "(): " << msg;  \
       throw exc(exc_str.str()); \
       } while(0)
    
    Throw(std::runtime_error, "test");

    terminate called after throwing an instance of 'std::runtime_error'
    what(): main.cpp:22: main(): Error

    Как вам?

    an0nym, 10 Июня 2013

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

    +14

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    template<typename U>
    shared_ptr(const shared_ptr<U> & ptr) throw()
    	: m_value(0)
    	, m_ref_count(0)
    {
    	m_value = static_cast<T *>(ptr.get());
    	if(m_value)
    	{
    		m_ref_count = reinterpret_cast<const shared_ptr &>(ptr).m_ref_count;
    		++*m_ref_count;
    	}
    }

    Выражаясь метафорично, я работаю на велосипедном заводе.

    Xom94ok, 09 Июня 2013

    Комментарии (25)
  7. Java / Говнокод #13118

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (groundsDTO.isChildCome()) {
        ZAGSAffiliation.Grounds.CHILDCONSENT childConsest = grounds.addNewCHILDCONSENT();
        childConsest.setISCHILDCONSENT(groundsDTO.isChildAgreeWithFillation());
        if (!groundsDTO.isChildCome()) {
             tranferConfirmation(childConsest.addNewCONSENTNOTAR(),groundsDTO.getChildAgree());
        }
    }

    А вдруг ребенок все-таки не придет?

    killogramm, 06 Июня 2013

    Комментарии (25)
  8. C# / Говнокод #13090

    +126

    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
    <td width="150">\n\
        <% if (editableParts.warehouseAssignment || shipping_map.length > 1) { %>\n\
          <a class="shipping-map-link dashed" href="#">\n\
        <% } else { %>\n\
          <span class="grey">\n\
        <% } %>\n\
          <% if (shipping_map.length == 0) { %>\n\
            не указан</span>\n\
          <% } else { %>\n\
            <% if (shipping_map.length == 1) { %>\n\
              <%= shipping_map[0].warehouse.name %>\n\
            <% } else { %>\n\
              с нескольких складов\n\
            <% } %>\n\
          <% } %>\n\
        <% if (editableParts.warehouseAssignment) { %>\n\
          </a>\n\
        <% } else { %>\n\
          </span>\n\
        <% } %>\n\
    </td>\n\

    0x2f8f, 03 Июня 2013

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

    +11

    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
    template <class T>
    class autoptr
    {
      private:
        T * _ptr;
    
      public:
        autoptr()
        {
            _ptr = 0;
        }
    
        autoptr( T * ptr )
        {
            _ptr = ptr;
        }
    
        ~autoptr()
        {
            if(_ptr) delete _ptr;
        }
    
        operator T * ()
        {
            return _ptr;
        }
    
        T * operator -> ()
        {
            return _ptr;
        }
        T * get()
        {
            T *ret = _ptr;
            _ptr = 0;
            return ret;
        }
    };
    
    template <class T>
    class autoptr_mas
    {
    // ...

    НУ ЗАЧЕМ?!

    roman-kashitsyn, 01 Апреля 2013

    Комментарии (25)
  10. VisualBasic / Говнокод #12764

    −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
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    Select Case Figure mod 6  
     ...
     Case chsQueen 'Ферзь
       Picture.Line (X + 0.45 * Side, Y + 0.55 * Side)-(X + 0.5 * Side, Y + 0.15 * Side), Border
       Picture.Line (X + 0.55 * Side, Y + 0.55 * Side)-(X + 0.5 * Side, Y + 0.15 * Side), Border
       Picture.Circle (X + 0.5 * Side, Y + 0.15 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.45 * Side, Y + 0.55 * Side)-(X + 0.3 * Side, Y + 0.25 * Side), Border
       Picture.Line (X + 0.35 * Side, Y + 0.6 * Side)-(X + 0.3 * Side, Y + 0.25 * Side), Border
       Picture.Circle (X + 0.3 * Side, Y + 0.25 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.55 * Side, Y + 0.55 * Side)-(X + 0.7 * Side, Y + 0.25 * Side), Border
       Picture.Line (X + 0.65 * Side, Y + 0.6 * Side)-(X + 0.7 * Side, Y + 0.25 * Side), Border
       Picture.Circle (X + 0.7 * Side, Y + 0.25 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.65 * Side, Y + 0.6 * Side)-(X + 0.85 * Side, Y + 0.35 * Side), Border
       Picture.Line (X + 0.73 * Side, Y + 0.65 * Side)-(X + 0.85 * Side, Y + 0.35 * Side), Border
       Picture.Circle (X + 0.85 * Side, Y + 0.35 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.35 * Side, Y + 0.6 * Side)-(X + 0.15 * Side, Y + 0.35 * Side), Border
       Picture.Line (X + 0.27 * Side, Y + 0.65 * Side)-(X + 0.15 * Side, Y + 0.35 * Side), Border
       Picture.Circle (X + 0.15 * Side, Y + 0.35 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.27 * Side, Y + 0.65 * Side)-(X + 0.27 * Side, Y + 0.8 * Side), Border
       Picture.Line (X + 0.73 * Side, Y + 0.65 * Side)-(X + 0.73 * Side, Y + 0.8 * Side), Border
       Picture.Circle (X + 0.5 * Side, Y + 0.35 * Side), 0.5 * Side, Border, 1.35 * Pi, 1.65 * Pi
       Call FloodFill(Picture.hdc, X + 0.5 * Side, Y + 0.5 * Side, Border)
       Picture.Circle (X + 0.5 * Side, Y + 1.24 * Side), 0.5 * Side, Border, 0.35 * Pi, 0.65 * Pi
       Picture.Circle (X + 0.5 * Side, Y + 1.1 * Side), 0.5 * Side, Border, 0.35 * Pi, 0.65 * Pi
       Picture.Line (X + 0.73 * Side, Y + 0.68 * Side)-(X + 0.65 * Side, Y + 0.7 * Side), Border
       Picture.Line (X + 0.73 * Side, Y + 0.77 * Side)-(X + 0.65 * Side, Y + 0.7 * Side), Border
       Picture.Line (X + 0.27 * Side, Y + 0.68 * Side)-(X + 0.35 * Side, Y + 0.7 * Side), Border
       Picture.Line (X + 0.27 * Side, Y + 0.77 * Side)-(X + 0.35 * Side, Y + 0.7 * Side), Border
       Picture.Line (X + 0.4 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.63 * Side), Border
       Picture.Line (X + 0.4 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.72 * Side), Border
       Picture.Line (X + 0.6 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.63 * Side), Border
       Picture.Line (X + 0.6 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.72 * Side), Border
       Let Picture.FillColor = Border
       Call FloodFill(Picture.hdc, X + 0.5 * Side, Y + 0.7 * Side, Border)
       Call FloodFill(Picture.hdc, X + 0.73 * Side, Y + 0.7 * Side, Border)
       Call FloodFill(Picture.hdc, X + 0.31 * Side, Y + 0.68 * Side, Border)
       Let Picture.FillColor = Fill
     ...
    End Select

    Пишу свои шахматы, с блекджеком и не без них.
    Вот, набацал алгоритм векторного рисования ферзя.
    Только на это ушло около получаса времени чистого с примесями (подстройки, мать их).
    Чую нутром, лучше забить и вырвать клипарт из интернета.

    ckopo, 18 Марта 2013

    Комментарии (25)
  11. C++ / Говнокод #12376

    +19

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    template<typename T>
    static json_string _itoa(T val) json_nothrow {  
            /*...*/
            long value = (long)val;
        
            /*...*/
    }

    Продолжаю бороться с поддержкой 64-битных чисел в libjson :/

    myaut, 30 Декабря 2012

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