1. C++ / Говнокод #3115

    +924

    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
    // придерживаюсь оригинала как могу
    // код как был:
    
    static char message_buf[64000];  // must be actually 64K == 64<<10 == 65536
    
    class MessageHandler {
       // [...]
       char *header;         // point into the message_buf
       char *content;
       std::list<char *> tlvs; // pointers to the elements of the message
    };
    
    // я пожаловался - пообещали исправить в новой версии по ходу реализации новой фичи.
    
    // новый "усовершенствованый" код, с "поддержкой" многопоточности.
    
    static char message_buf[100][65000];  // 100 == max threads, buffer size now is much closer to the standard
    
    class MessageHandler {
       // [...]
       int threadId;             // index into the new message_buf[]
       char *header;          // point into the message_buf[threadId]
       char *content;
       std::vector<char *> tlvs; // same, but in std::vector because it is "faster"
    };

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

    Dummy00001, 26 Апреля 2010

    Комментарии (24)
  2. C++ / Говнокод #3114

    +911

    1. 1
    case UP : o > 0 ? o-- : o = FIELD_SIZE - 1; break;

    Друг скинул в аську, попросил перевести в if-ную форму)))
    Не знаю где он это откопал)))

    k06a, 26 Апреля 2010

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

    +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
    #include <iostream>
    #include <stdio.h>
    using namespace std;
    #define chislo int
    #define osnovnoe main
    #define nachalo {
    #define konec }
    #define chitaj scanf
    #define pishi printf
    #define CS ;
    #define verni return
    #define noleg 0
    #define strochechka string
    #define naruzhu <<
    #define vnutr >>
    #define vozmi cin
    #define daj cout
    #define esli if
    #define PISCS endl
    #define eshe &&
    #define cicle for
    #define poka while
    #define simvol char
    #define vozmis getchar()
    #define shlak EOF
    #define SPS '\n'
    #define vozmozhno ||
    #define eshe &&
    #define inache else
    chislo aasda[1000] CS
    chislo chistka()
    nachalo
    	chislo i CS
    	cicle(i=noleg CS i<1000 CS i++)
    		aasda[i]=noleg CS
    	verni aasda[noleg] CS
    konec
    chislo mnozh(chislo k)
    nachalo
    	chislo i CS
    	cicle(i=noleg+2 CS i<k CS i++)
    			esli(k%i==0) nachalo aasda[i]++ CS verni mnozh(k/i)+1 CS konec
    	aasda[k]++ CS
    	verni 1 CS
    konec
    chislo krutilka(chislo k)
    nachalo
    	esli(k==1) verni 1 CS
    	verni k*krutilka(k-1) CS
    konec
    chislo osnovnoe()
    nachalo
    	chislo colm, ppm=1, k, i CS
    	vozmi vnutr k CS
    	chistka() CS
    	colm=mnozh(k) CS
    	cicle(i=noleg CS i<=1000 CS i++)
    		esli(aasda[i]>0) ppm*=krutilka(aasda[i]) CS
    	daj naruzhu krutilka(colm)/ppm naruzhu PISCS CS				
    	verni noleg CS
    konec

    Так мы писали задачи на Турнире Архимеда=)

    Novi4oK, 26 Апреля 2010

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

    +908

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    for (int i = ((x-1)>=0)?(x-1):0; i<=((x+1<=9)?(x+1):9); ++i)
    	for (int j = ((y-1)>=0)?(y-1):0; j<=((y+d<=9)?(y+d):9); ++j)
    		if (isplayer)
    		{
    			if (Board[i][j]->Alive)
    				return false;
    		}
    		else
    		{
    			if (EnBoard[i][j]->Alive)
    				return false;
    		}

    с++ такой с++

    xXx_totalwar, 23 Апреля 2010

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

    +908

    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
    template <typename Handler>
      void start_connect_op(socket_type descriptor,
          per_descriptor_data&, Handler handler)
      {
        boost::asio::detail::mutex::scoped_lock lock(mutex_);
        if (!shutdown_)
        {
          boost::shared_ptr<bool> completed(new bool(false));
          connect_handler_wrapper<Handler> wrapped_handler(
              descriptor, completed, *this, handler);
          bool interrupt = write_op_queue_.enqueue_operation(
              descriptor, wrapped_handler);
          interrupt = except_op_queue_.enqueue_operation(
              descriptor, wrapped_handler) || interrupt;
          if (interrupt)
            interrupter_.interrupt();
        }
      }

    Как дико зафрагментировать кучу?!
    Столько хороших идей и так много говнокода в реализации.
    //boost::shared_ptr<bool> completed(new bool(false)); - это один из шедевров кривокодирования!!!

    mock, 22 Апреля 2010

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

    +64

    1. 1
    2. 2
    3. 3
    4. 4
    if (mpQCWWANDLL == 0)
    {
        ASSERT( 0 );
    }

    mors, 21 Апреля 2010

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

    +59

    1. 1
    2. 2
    double _[1];
    void main(){[](){[](){[](){[](){0[_];}();}();}();}();};

    Осторожно! Новый стандарт превращает [этот язык, который нельзя называть по имени] в Perl при не верном использовании.

    C++0x, 21 Апреля 2010

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

    +911

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    TVector4 V0;
    TVector4 V1;
    TVector4 V2;
    
    //....
    //Пример компилирующегося допустимого использования:
    (V0+V1)=V2;

    Нашёл я тут мега библиотеку в инете для работы с векторами. За такое нужно бить по рукам.

    Говногость, 20 Апреля 2010

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

    +61

    1. 1
    2. 2
    3. 3
    FILE *h=fopen(fileDMB, "r");
    char *fileDMBtext;
    while(fileDMBtext=fgetc(h)!=EOF){return 0;}

    Я даже знаю компилятор в котором это работает.

    hromjo, 20 Апреля 2010

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

    +57.2

    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
    t1->addAnimation(new QPropertyAnimation(widget, "geometry"));
        t1->addAnimation(new QPropertyAnimation(p1, "pos"));
        t1->addAnimation(new QPropertyAnimation(p2, "pos"));
        t1->addAnimation(new QPropertyAnimation(p3, "pos"));
        t1->addAnimation(new QPropertyAnimation(p4, "pos"));
        t1->addAnimation(new QPropertyAnimation(p5, "pos"));
        t1->addAnimation(new QPropertyAnimation(p6, "pos"));
        t1->addAnimation(new QPropertyAnimation(p1, "rotation"));
        t1->addAnimation(new QPropertyAnimation(p2, "rotation"));
        t1->addAnimation(new QPropertyAnimation(p3, "rotation"));
        t1->addAnimation(new QPropertyAnimation(p4, "rotation"));
        t1->addAnimation(new QPropertyAnimation(p5, "rotation"));
        t1->addAnimation(new QPropertyAnimation(p6, "rotation"));
        t1->addAnimation(new QPropertyAnimation(p1, "opacity"));
        t1->addAnimation(new QPropertyAnimation(p2, "opacity"));
        t1->addAnimation(new QPropertyAnimation(p3, "opacity"));
        t1->addAnimation(new QPropertyAnimation(p4, "opacity"));
        t1->addAnimation(new QPropertyAnimation(p5, "opacity"));
        t1->addAnimation(new QPropertyAnimation(p6, "opacity"));
    
        QAbstractTransition *t2 = state2->addTransition(button, SIGNAL(clicked()), state3);
        t2->addAnimation(new QPropertyAnimation(box, "geometry"));
        t2->addAnimation(new QPropertyAnimation(widget, "geometry"));
        t2->addAnimation(new QPropertyAnimation(p1, "pos"));
        t2->addAnimation(new QPropertyAnimation(p2, "pos"));
        t2->addAnimation(new QPropertyAnimation(p3, "pos"));
        t2->addAnimation(new QPropertyAnimation(p4, "pos"));
        t2->addAnimation(new QPropertyAnimation(p5, "pos"));
        t2->addAnimation(new QPropertyAnimation(p6, "pos"));
        t2->addAnimation(new QPropertyAnimation(p1, "rotation"));
        t2->addAnimation(new QPropertyAnimation(p2, "rotation"));
        t2->addAnimation(new QPropertyAnimation(p3, "rotation"));
        t2->addAnimation(new QPropertyAnimation(p4, "rotation"));
        t2->addAnimation(new QPropertyAnimation(p5, "rotation"));
        t2->addAnimation(new QPropertyAnimation(p6, "rotation"));
        t2->addAnimation(new QPropertyAnimation(p1, "opacity"));
        t2->addAnimation(new QPropertyAnimation(p2, "opacity"));
        t2->addAnimation(new QPropertyAnimation(p3, "opacity"));
        t2->addAnimation(new QPropertyAnimation(p4, "opacity"));
        t2->addAnimation(new QPropertyAnimation(p5, "opacity"));
        t2->addAnimation(new QPropertyAnimation(p6, "opacity"));
    
        QAbstractTransition *t3 = state3->addTransition(button, SIGNAL(clicked()), state1);
        t3->addAnimation(new QPropertyAnimation(box, "geometry"));
        t3->addAnimation(new QPropertyAnimation(widget, "geometry"));
        t3->addAnimation(new QPropertyAnimation(p1, "pos"));
        t3->addAnimation(new QPropertyAnimation(p2, "pos"));
        t3->addAnimation(new QPropertyAnimation(p3, "pos"));
        t3->addAnimation(new QPropertyAnimation(p4, "pos"));
        t3->addAnimation(new QPropertyAnimation(p5, "pos"));
        t3->addAnimation(new QPropertyAnimation(p6, "pos"));
        t3->addAnimation(new QPropertyAnimation(p1, "rotation"));
        t3->addAnimation(new QPropertyAnimation(p2, "rotation"));
        t3->addAnimation(new QPropertyAnimation(p3, "rotation"));
        t3->addAnimation(new QPropertyAnimation(p4, "rotation"));
        t3->addAnimation(new QPropertyAnimation(p5, "rotation"));
        t3->addAnimation(new QPropertyAnimation(p6, "rotation"));
        t3->addAnimation(new QPropertyAnimation(p1, "opacity"));
        t3->addAnimation(new QPropertyAnimation(p2, "opacity"));
        t3->addAnimation(new QPropertyAnimation(p3, "opacity"));
        t3->addAnimation(new QPropertyAnimation(p4, "opacity"));
        t3->addAnimation(new QPropertyAnimation(p5, "opacity"));
        t3->addAnimation(new QPropertyAnimation(p6, "opacity"));

    http://qt.gitorious.org/qt/qt/blobs/4.7/examples/animation/states/main.cpp

    Пример использования Qt animation framework: образцовый быдлокод.

    Lockal, 19 Апреля 2010

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