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

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

    +108

    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
    class Matrix
    {
        double[,] matrix;
        int rows, columns;
    
        // Не вызывается до закрытия приложения
        ~Matrix()
        {
            Console.WriteLine("Finalize");
        }
    
        public Matrix(int sizeA, int sizeB)
        {
            rows = sizeA;
            columns = sizeB;
            matrix = new double[sizeA, sizeB];
        }
    
        // Индексатор для установки/получения элементов внутреннего массива
        public double this[int i, int j]
        {
            set { matrix[i,j] = value; }
            get { return matrix[i,j]; }
        }
    
        // Возвращает число строк в матрице
        public int Rows
        {
            get { return rows; }
        }
    
        // Возвращает число столбцов в матрице
        public int Columns
        {
            get { return rows; }
        }
    
    }

    Нашёл в статье из MSDN'а

    FMB, 10 Июля 2010

    Комментарии (31)
  3. JavaScript / Говнокод #3576

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $(document).ready(function () {
    	$('.input_control').attr('checked', true);
    	$('.input_control').click(function () {
    		if ($('input[name=' + $(this).attr('value') + ']').attr('disabled') == false) {
    			$('input[name=' + $(this).attr('value') + ']').attr('disabled', true);
    		} else {
    			$('input[name=' + $(this).attr('value') + ']').attr('disabled', false);
    		}
    	});
    });

    Переключаем disabled поля по чекбоксу™.
    Источник — http://ruseller.com/lessons.php?rub=32&id=600

    eval, 27 Июня 2010

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

    +140

    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
    int 
    grub_auth_strcmp (const char *user_input, const char *template) 
    { 
      int ok = 1; 
      const char *ptr1, *ptr2; 
      for (ptr1 = user_input, ptr2 = template; *ptr1; ptr1++) 
        if (*ptr1 == (ptr2 ? *ptr2 : ptr1[1]) && ok && ptr2 != NULL) 
          ptr2++; 
        else 
          ok = 0; 
     
      return !ok; 
    }

    Несвежий говнокод (давно пропатчено) и, возможно, кто-то скажет "баян", однако оставлю это здесь.
    Код из загрузчика grub 1.97, проверка пароля. Принимает за верный пароль любую подстроку пароля.

    cfdev, 27 Июня 2010

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

    +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
    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
    int main()
    {
    	int chisl,znam,cel;
    	Fraction fA,fB,fC;
    	cout<<"Vvedite fA v vide dvux 4isel\n";cin>>fA.chisl>>fA.znam;
    	cout<<"Vvedite fB v vide dvux 4isel\n";cin>>fB.chisl>>fB.znam;
    	cout<<"Vvedite celoe chislo\n";cin>>cel;
    	if ((fA.znam!=0)&&(fB.znam!=0)&&(cel!=0))
    	{
    	fC=fA+fB;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Summa: "<< chisl << "/" << znam <<'\n';
    	else
    		cout<<"Summa: "<< chisl <<'\n';
    	fC=fA-fB;
    	fC.getFraction(chisl,znam);
    	if ((znam!=1)&&(chisl!=0))
    		cout<<"Raznost: "<< chisl << "/" << znam <<'\n';
    	else 
    		cout<<"Raznost: "<< chisl <<'\n';
    	fC=fA*fB;
    	fC.getFraction(chisl,znam);
    	if ((znam!=1)&&(chisl!=0))
    		cout<<"Proizvedenie: "<< chisl << "/" << znam <<'\n';
    	else 
    		cout<<"Proizvedenie: "<< chisl <<'\n';
    	fC=fA/fB;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0)&&(znam!=0))
    		cout<<"Chastnoe: "<< chisl << "/" << znam <<'\n';
    	else if(znam==0) 
    		cout<<"Chastnogo drobei ne sushestvuet\n";
    	else
    		cout<<"Chastnoe: 0\n";
    	fC=fA+cel;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Summa 1 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else
    		cout<<"Summa 1 drobi i celogo 4isla: "<< chisl <<'\n';
    	fC=fA-cel;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Raznost 1 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else
    		cout<<"Raznost 1 drobi i celogo 4isla: "<< chisl <<'\n';
    	fC=fA*cel;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Proizvedenie 1 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else 
    		cout<<"Proizvedenie 1 drobi i celogo 4isla: "<< chisl <<'\n';
    	fC=fA/cel;
    	fC.getFraction(chisl,znam);
    	if ((znam!=1)&&(chisl!=0))
    		cout<<"Chastnoe 1 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else
    		cout<<"Chastnoe 1 drobi i celogo 4isla: 0\n";
    	fC=fB+cel;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Summa 2 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else
    		cout<<"Summa 2 drobi i celogo 4isla: "<< chisl <<'\n';
    	fC=fB-cel;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Raznost 2 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else
    		cout<<"Raznost 2 drobi i celogo 4isla: "<< chisl <<'\n';
    	fC=fB*cel;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Proizvedenie 2 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else 
    		cout<<"Proizvedenie 2 drobi i celogo 4isla: "<< chisl <<'\n';
    	fC=fB/cel;
    	fC.getFraction(chisl,znam);
    	if ((znam!=1)&&(chisl!=0))
    		cout<<"Chastnoe 2 drobi i celogo 4isla: "<< chisl << "/" << znam <<'\n';
    	else
    		cout<<"Chastnoe 1 drobi i celogo 4isla: 0\n";
    	fC=~fA;
    	fC.getFraction(chisl,znam);
    	if((znam!=1)&&(chisl!=0))
    		cout<<"Sokrashennaya drob ravna: "<< chisl << "/" << znam <<'\n';
    	else 
    		cout<<"Sokrashennaya drob ravna: "<< chisl <<'\n';
    	}
    	else 
    		cout<<"Znamenatel drobi ili celoe chislo raven nulu, poetomu drobi net"<<'\n';
    	return 0;
    }

    Задача. Определить класс натуральная дробь, объекты которого числитель и знаменатель. Надо перегрузить операторы сложения, вычитания, умножения, делания и сокращения дробей, а так же сложения, вычитания, умножения и деления дроби и целого числа. То есть калькулятор дробей фактически. Написал, как-то жестоко получилось. Добавлю сразу, чтобы не было лишних разговоров. Это не задание в универе, сессия закончилась, каникулы, это для интереса, смотрю то, что мы еще не проходили. Кажется условий слишком много, короче ведь можно сделать?

    ForEveR, 15 Июня 2010

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class Massiv{
          int *a;
    public:
           void Sozd(int k);
    };
    
    void Massiv::Sozd(int k)
    {
         a=(int *) malloc (sizeof(int) * (k+3));
    }

    У меня будет свой конструктор!

    kir_rik, 20 Мая 2010

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

    −132

    1. 1
    yes | rm -r /

    Так красивее :)

    Tanger, 18 Мая 2010

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function summArray($arr) 
    {
        $summ = 0;
        foreach($arr as $a) {
            $summ += intval($a);
        }
        
        return $summ;
    }

    minisot, 05 Мая 2010

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

    +164

    1. 1
    2. 2
    3. 3
    <?php
    $count =300;
    define('MAXPROCESS',$count);

    $count дальше естественно нигде не используется..

    null, 05 Мая 2010

    Комментарии (31)
  10. JavaScript / Говнокод #3148

    +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
    function addElement(name, params) {
    var elem = document.createElement(name);
    if (params.href) elem.href = params.href;
    if (params.innerHTML) elem.innerHTML = params.innerHTML;
    if (params.innerText) elem.innerText = params.innerText;
    if (params.className) elem.className = params.className;
    if (params.id) elem.id = params.id;
    if (params.name) elem.name = params.name;
    if (params.type) elem.type = params.type;
    if (params.onclick) elem.onclick = params.onclick;
    if (params.onkeypress) elem.onkeypress = params.onkeypress;
    if (params.onkeydown) elem.onkeydown = params.onkeydown;
    if (params.onkeyup) elem.onkeyup = params.onkeyup;
    if (params.onmousedown) elem.onmousedown = params.onmousedown;
    if (params.onmouseup) elem.onmouseup = params.onmouseup;
    if (params.onmousewheel) elem.onmousewheel = params.onmousewheel;
    if (params.onload) elem.onload = params.onload;
    if (params.onkeydown) elem.onkeydown = params.onkeydown;
    if (params.height) elem.height = params.height;
    if (params.width) elem.width = params.width;
    if (params.align) elem.align = params.align;
    if (params.valign) elem.valign = params.valign;
    if (params.celspacing) elem.cellspacing = params.cellspacing;
    if (params.cellpadding) elem.cellpadding = params.cellpadding;
    if (params.src) elem.src = params.src;
    if (params.rel) elem.rel = params.rel;
    if (params.border) elem.border = params.border;
    if (params.onkeyup) elem.onkeyup = params.onkeyup;
    if (params.value) elem.value = params.value;
    if (params.action) elem.action = params.action;
    if (params.title) elem.title = params.title;
    vif (params.alt) elem.alt = params.alt;
    document.body.appendChild(elem);
    }

    А что такое for…in?
    P.S. там ещё был перебор всех свойств elem.style, но, увы, сюда не влезло.
    P.P.S. по началу 32-й строки можно определить, как был написан код ;)

    Infamous, 02 Мая 2010

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

    +61.2

    1. 1
    2. 2
    3. 3
    4. 4
    FILE *f=fopen(name, "wb");
    char *text="<DMB 1.0>\n\n";
    for(int i=0;i<=10;i++){fputc((int)text, f);}
    fclose(f);

    Замечу это c++, так как это чудо находилось в классе.

    hromjo, 16 Апреля 2010

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