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

    +155

    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
    typedef struct IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING344 : boost::mpl::assert_ {
    
      static boost::mpl::failed ************ (IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING::************ assert_arg()) (T&) {
        return 0;
      }
    } mpl_assert_arg344;
    
    typedef struct IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING375 : boost::mpl::assert_ {
    
      static boost::mpl::failed ************ (IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING::************ assert_arg()) (T&) {
        return 0;
      }
    } mpl_assert_arg375;
    
    template< typename Pred >
    failed ************ (Pred::************
      assert_arg(void (*)(Pred), typename assert_arg_pred<Pred>::type)
      );
    
    template< typename Pred >
    failed ************ (boost::mpl::not_<Pred>::************
      assert_not_arg(void (*)(Pred), typename assert_arg_pred_not<Pred>::type)
      );

    В том что boost'овские библиотеки достаточно хорошо оптимизированы я не сомневаюсь, но от некоторых конструкций я просто охреневаю...

    rudvil, 08 Сентября 2010

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

    +165

    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
    function urldecode(code) {
            code = escape(code);
            code = code.replace(/\+/g,' ');
            code = code.replace(/%21/g,'!');
            code = code.replace(/%22/g,'"');
            code = code.replace(/%23/g,'#');
            code = code.replace(/%24/g,'$');
            code = code.replace(/%2D/g,'-');
            code = code.replace(/%5E/g,'^');
            code = code.replace(/%26/g,'&');
            code = code.replace(/%B9/g,'№');
            code = code.replace(/%3B/g,';');
            code = code.replace(/%25/g,'%');
            code = code.replace(/%3A/g,':');
            code = code.replace(/%3F/g,'?');
            code = code.replace(/%28/g,'(');
            code = code.replace(/%29/g,')');
    
    		code = code.replace(/%BF/g,'ї');
    		code = code.replace(/%AF/g,'Ї');
    		code = code.replace(/%B3/g,'і');
    		code = code.replace(/%B2/g,'І');
    		code = code.replace(/%BA/g,'є');
    		code = code.replace(/%AA/g,'Є');
    
            code = code.replace(/%C0/g,'А');
    [от ^ до \/]
            code = code.replace(/%DF/g,'Я');
    
            code = code.replace(/%E0/g,'а');
    [аналогично]
            code = code.replace(/%FF/g,'я');
    
            return code;
    }

    http://informer.gismeteo.ru/getcode/js/decode.js
    -Они забыли массив!
    -Говнокодеры!

    ReallyBugMeNot, 08 Сентября 2010

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    $__=array('!','й','у','х',' ','е','б','е','т',' ','о','т','э',' ',',','т','е','Н');
    $_=array_reverse($__);
    $__=array_slice($_, 0, count($__)-1);
    echo implode($__);

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

    7ion, 08 Сентября 2010

    Комментарии (12)
  4. PHP / Говнокод #4194

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    $rows=$this->DB->FetchArray($query, MYSQL_ASSOC);
    @reset($rows);
     while (list($key, $val)=@each($rows))
    $this->$key=$val;

    Ы

    ReallyBugMeNot, 08 Сентября 2010

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

    +162

    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
    int main(int argc, char* argv[])
    {
    // Массив русских букв:
            char c[33], s[33];
    // Заглавные буквы:
            c[0] = 0x80; // А
            c[1] = 0x81; // Б
            c[2] = 0x82; // В
            c[3] = 0x83; // Г
            c[4] = 0x84; // Д
            c[5] = 0x85; // Е
            c[6] = 0x86; // Ж
            c[7] = 0x87; // З
            c[8] = 0x88; // И
            c[9] = 0x89; // Й
            c[10] = 0x8A; // К
            c[11] = 0x8B; // Л
            c[12] = 0x8C; // М
            c[13] = 0x8D; // Н
            c[14] = 0x8E; // О
            c[15] = 0x8F; // П
            c[16] = 0x90; // Р
            c[17] = 0x91; // С
            c[18] = 0x92; // Т
            c[19] = 0x93; // У
            c[20] = 0x94; // Ф
            c[21] = 0x95; // Х
            c[22] = 0x96; // Ц
            c[23] = 0x97; // Ч
            c[24] = 0x98; // Ш
            c[25] = 0x99; // Щ
            c[26] = 0x9A; // Ъ
            c[27] = 0x9B; // Ы
            c[28] = 0x9C; // Ь
            c[29] = 0x9D; // Э
            c[30] = 0x9E; // Ю
            c[31] = 0x9F; // Я
            c[32] = 0xF0; // Ё
    // Прописные буквы:
            s[0] = 0xA0; // а
            s[1] = 0xA1; // б
            s[2] = 0xA2; // в
            s[3] = 0xA3; // г
            s[4] = 0xA4; // д
            s[5] = 0xA5; // е
            s[6] = 0xA6; // ж
            s[7] = 0xA7; // з
            s[8] = 0xA8; // и
            s[9] = 0xA9; // й
            s[10] = 0xAA; // к
            s[11] = 0xAB; // л
            s[12] = 0xAC; // м
            s[13] = 0xAD; // н
            s[14] = 0xAE; // о
            s[15] = 0xAF; // п
            s[16] = 0xE0; // р
            s[17] = 0xE1; // с
            s[18] = 0xE2; // т
            s[19] = 0xE3; // у
            s[20] = 0xE4; // ф
            s[21] = 0xE5; // х
            s[22] = 0xE6; // ц
            s[23] = 0xE7; // ч
            s[24] = 0xE8; // ш
            s[25] = 0xE9; // щ
            s[26] = 0xEA; // ъ
            s[27] = 0xEB; // ы
            s[28] = 0xEC; // ь
            s[29] = 0xED; // э
            s[30] = 0xEE; // ю
            s[31] = 0xEF; // я
            s[32] = 0xF1; // ё
    // Конец массива.
    
            cout << c[21] << s[14] << "-" << s[21] << s[14] << "!\n"; // Хо-хо!
    
            getch();
            return 0;
    }

    Когда я ещё не знал, как выводить в консоли русские буквы, спел и натанцевал индийский код.

    novemberdreamer, 08 Сентября 2010

    Комментарии (7)
  6. Python / Говнокод #4192

    −171

    1. 1
    sys.path = ['/home/username/webapps/django', '/home/username/webapps/django/lib/python2.5'] + sys.path

    индусы в моих джангах. pascal style

    awsum, 07 Сентября 2010

    Комментарии (5)
  7. Pascal / Говнокод #4191

    +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
    type
      THackImage = class(TGraphicControl)
      public
        property Canvas;
      end;
    
    procedure TColorPicker.ImageMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
    begin
      {$IFDEF HACKS}
      Assert(Sender is TImage, 'в Sender всегда передается экземпляр класса TImage');
      FSelectedColor := THackImage(Sender).Canvas.Pixels[X, Y];
      {$ELSE}
      (* то, что было лень писать сразу *)

    Говнистая работа с библиотекой VCL. Не притрагивался к проекту около года, потом загрузил и почти час втыкал, за каким этот грёбаный хак здесь нужен.

    bugmenot, 07 Сентября 2010

    Комментарии (13)
  8. Си / Говнокод #4190

    +128

    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
    int zerocheck(float a,float b,float c,int d){
    	if(a==0){
    		if(b==0){
    			if(c==0)return 0;
    			else return 1;
    		}else{
    			if(d==1){
    				y_1=c/b;
    				return 2;
    			}else{
    				y2=c/b;
    				return 2;
    			}
    		}
    	}else{
    		if(b==0){
    			if(d==1){
    				x1=c/a;
    				return 3;
    			}else{
    				x2=c/a;
    				return 3;
    			}
    		}else{
    			return 4;
    		}
    	}
    }
    
    int main() {
    	float a,b,c,d,e,f;
    	int ch1,ch2;
    .....
    	ch1=zerocheck(a,b,c,1);
    	ch2=zerocheck(d,e,f,2);
    	if(ch1==1)printf("\nNo answer. 0*X + 0*Y = %f",c);
    	if(ch2==1)printf("\nNo answer. 0*X + 0*Y = %f",f);
    	if(ch1==0 && ch2==0)printf("\nAny variable is answer!");
    	if(ch1==0 && ch2==2)printf("\nX - any. Y = %f",y2);
    	if(ch1==0 && ch2==3)printf("\nX = %f. Y - any",x2);
    	if(ch1==0 && ch2==4)printf("\n%f*X + %f*Y = %f",d,e,f);
    	if(ch1==2 && ch2==0)printf("\nX - any. Y = %f",y_1);
    	if(ch1==2 && ch2==2){
    		if(y_1==y2)printf("\nX - any. Y = %f",y_1);
    		else printf("\nY1 (%f) != Y2 (%f)",y_1,y2);
    	}
    	if(ch1==2 && ch2==3)printf("\nX = %f. Y = %f",x2,y_1);
    	if(ch1==2 && ch2==4){
    		y2=y_1;
    		x2=(f-e*y2)/d;
    		printf("\nX = %f. Y = %f",x2,y_1);
    	}
    	if(ch1==3 && ch2==0)printf("\nX = %f. Y - any",x1);
    	if(ch1==3 && ch2==2)printf("\nX = %f. Y = %f",x1,y2);
    	if(ch1==3 && ch2==3){
    		if(x1==x2)printf("\nX = %f. Y - any",x1);
    		else printf("\nX1 (%f) != X2 (%f)",x1,x2);
    	}
    	if(ch1==3 && ch2==4){
    		x2=x1;
    		y2=(f-d*x2)/e;
    		printf("\nX = %f. Y = %f",x1,y2);
    	}
    	if(ch1==4 && ch2==0)printf("\n%f*X + %f*Y = %f",a,b,c);
    	if(ch1==4 && ch2==2){
    		y_1=y2;
    		x1=(c-b*y_1)/a;
    		printf("\nX = %f. Y = %f",x1,y2);
    	}
    	if(ch1==4 && ch2==3){
    		x1=x2;
    		y_1=(c-a*x1)/b;
    		printf("\nX = %f. Y = %f",x2,y_1);
    	}
    	if(ch1==4 && ch2==4){
    		if(a/b==d/e)printf("\nNo answer. Lines would be parallel or qeual.");
    		else{
    			x1=(b*f-c*e)/(d*b-a*e);
    			y_1=(c-a*x1)/b;
    			printf("\nX = %f. Y = %f",x1,y_1);
    		}
    	}
    	printf("\n");
    	print_lines();
    	return 0;
    }

    Hello, C!

    Second_Fry, 07 Сентября 2010

    Комментарии (26)
  9. PHP / Говнокод #4189

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $a = "1";
    $b = "$a";
    
    if($a == $b) {
    echo '$a = $b';
    }

    Восемь часов за компом.. Посмотрел на код еще раз :D

    bafoed, 07 Сентября 2010

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

    +143

    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
    // Так мы генерируем страницу:
    ob_start();
    
    renderPage($price, $order);
    
    $renderPage = ob_get_clean();
    
    // Функция renderPage выглядит так:
    function renderPage(&$setup, &$order){
    ?>
    <div id="setupMenu">
    <!-- дальше простой html с подстановкой php-переменных -->
    <?php } ?>

    Вот почему у функции нельзя было сделать простой return, а надо было закрывать скобки php и затем при вызове использовать ob_*, чтобы получить html.

    netrain, 07 Сентября 2010

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