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

    В номинации:
    За время:
  2. Куча / Говнокод #18819

    +1

    1. 1
    https://i.imgur.com/S0Ti1EO.png

    Макаки - они везде.

    gost, 06 Октября 2015

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    /* удивляюсь логике человека, написавшего это */
    
    //echo $a;
    print($a);

    Smoren, 01 Октября 2015

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

    +4

    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
    StringBuilder errorMessage = new StringBuilder();
    int i = 0, j = 0;
    bool outcome = true;
    double value;
    string[] label = new string[] { label1.Text, label2.Text, label4.Text };
    
    textBox1.Text = textBox1.Text.Trim();
    textBox2.Text = textBox2.Text.Trim();
    textBox3.Text = textBox3.Text.Trim();
    
    foreach (string field in (new string[] { textBox1.Text, textBox2.Text, textBox3.Text }))
    {
    	try
    	{
    		if (field.Length == 0)
    			throw new Exception("отсутствует значение.\n");
    
    		if (j == 2)
    			value = int.Parse(field, NumberStyles.Integer);
    		else
    			value = double.Parse(field, NumberStyles.Float);
    
    		if (value <= 0)
    			throw new Exception("значение должно быть строго больше нуля.\n");
    
    		if (j == 2)
    		{
    			try
    			{
    				dateTimePicker1.Value.Date.AddMonths((int)value);
    			}
    			catch (Exception)
    			{
    				throw new Exception("превышено максимальное значение типа System.DateTime, " + DateTime.MaxValue.ToShortDateString() + ".\n" +
    									"Срок вклада не может превышать " + 
    									((DateTime.MaxValue.Year - dateTimePicker1.Value.Date.Year) * 12 +
    									DateTime.MaxValue.Month - dateTimePicker1.Value.Date.Month).ToString() + " мес. " + "от указанной даты оформления, " + dateTimePicker1.Value.Date.ToShortDateString() + ".\n");
    			}
    		}
    	}
    	catch (Exception e)
    	{
    		errorMessage.Append((++i).ToString() + ". " + label[j] + ": ");
    
    		switch (e.GetType().ToString())
    		{
    			case "System.FormatException":
    				errorMessage.AppendLine("неверный формат числа.\n");
    				break;
    
    			case "System.OverflowException":
    				{
    					if (j < 2)
    					{
    						errorMessage.AppendLine("значение не может быть обработано вещественным типом System.Double.");
    						errorMessage.AppendLine("Значение типа должно быть строго больше нуля, в промежутке (0; " + double.MaxValue.ToString() + "].\n");
    					}
    					else
    					{
    						errorMessage.AppendLine("значение не может быть обработано целочисленным типом System.Int32.");
    						errorMessage.AppendLine("Значение типа должно быть строго больше нуля, в промежутке (0; " + int.MaxValue.ToString() + "].\n");
    					}
    					break;
    				}
    
    			default:
    				errorMessage.AppendLine(e.Message);
    				break;
    		}
    
    		outcome = false;
    	}
    
    	j++;
    }

    Мастер исключений 80-го уровня.
    Хорошо, хоть не по мессаджам их разделяет.

    yamamoto, 28 Сентября 2015

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

    +4

    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
    long long int Factorial(long long int m_nValue)
       {
           long long int result=m_nValue;
           long long int result_next;
           long long int pc = m_nValue;
           do
           {
               result_next = result*(pc-1);
               result = result_next;
               pc--;
           }while(pc>2);
           m_nValue = result;
           return m_nValue;
       }

    http://rosettacode.org/wiki/Factorial#C.2B.2B

    Abbath, 22 Сентября 2015

    Комментарии (5)
  6. JavaScript / Говнокод #18594

    +2

    1. 1
    2. 2
    3. 3
    f($scope.data.extraFields){
          $scope.data.extraFields = $scope.data.extraFields;
        }

    разбираю сайт после предыдущего разраба

    fxt, 13 Августа 2015

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (strlen($this->post['Name']) >= 3) {
        $p = preg_split('/\s+/', $name) + [' ', ' '];
        sort($p);
    
        $permutation = [$p[0], $p[1], $p[2], $p[0], $p[1], $p[0], $p[2], $p[1], $p[0]];
        $name = join(' ', $permutation);
    
        $list = Model_Students::searchStudentsByName($name, $facultyID, $gradeID, $groupID);
    }

    С ребятами запилили полнотекстовый поиск фио. Функция из модели — вызов MySQL процедуры.

    Реалия простая — MySQL не умеет в split, не умеет в переменное количество параметров, не умеет в нечёткий поиск. Выкручиваемся как можем.

    xamgore, 20 Июля 2015

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    setExpanded : function(val) {
        val = val ? true : false;
        this._expanded = val;
    }

    beatmasta, 07 Июля 2015

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

    +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
    //----Навигация
    if ($page != 1) $pervpage = '<a href=?page=1>Первая</a> | <a href=?page='. ($page - 1) .'>Предыдущая</a> | ';
    if ($page != $total) $nextpage = ' | <a href=?page='. ($page + 1) .'>Следующая</a> | <a href=?page=' .$total. '>Последняя</a>';
    if($page - 5 > 0) $page5left = ' <a href=?page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
    if($page - 4 > 0) $page4left = ' <a href=?page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
    if($page - 3 > 0) $page3left = ' <a href=?page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
    if($page - 2 > 0) $page2left = ' <a href=?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
    if($page - 1 > 0) $page1left = '<a href=?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
    if($page + 5 <= $total) $page5right = ' | <a href=?page='. ($page + 5) .'>'. ($page + 5) .'</a>';
    if($page + 4 <= $total) $page4right = ' | <a href=?page='. ($page + 4) .'>'. ($page + 4) .'</a>';
    if($page + 3 <= $total) $page3right = ' | <a href=?page='. ($page + 3) .'>'. ($page + 3) .'</a>';
    if($page + 2 <= $total) $page2right = ' | <a href=?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
    if($page + 1 <= $total) $page1right = ' | <a href=?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
    if ($total > 1)
    {
    Error_Reporting(E_ALL & ~E_NOTICE);
    echo "<div class=\"pstrnav\">";
    echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
    echo "</div>";
    }

    pi3141592653, 29 Июня 2015

    Комментарии (5)
  10. Си / Говнокод #18412

    +142

    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
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    #include <stdio.h>
    #include <stdlib.h>
    #include <gb/gb.h>
    #include <gb/drawing.h>
    #include <rand.h>
    #define OBJ_EMPTY 0
    #define OBJ_PLAYER 1
    #define OBJ_ENEMY 2
    
    void clearscr(void);
    void waitbuttona(void);
    void initgame(void);
    void setcubemem(UINT8 formerx,UINT8 formery);
    void enemy(void);
    void wingame(void);
    
    int game_field[5][5];
    int cube_x = 2;
    int cube_y = 3;
    int fcx = 0;
    int fcy = 0;
    UINT8 genenemy = 0;
    UINT8 button;
    int pointx = 0;
    int pointy = 0;
    int i = 0;
    int u = 0;
    
    int main()
    {
     initrand(31415);
     printf("Running Cube");
     waitbuttona();
     clearscr();
     initgame();
     while(1)
     {
      clearscr();
      button = joypad();
      fcx = cube_x;
      fcy = cube_y;
      genenemy = rand();
      if(button == J_UP){ cube_x--; setcubemem(fcx,fcy); }
      if(button == J_DOWN){ cube_x++; setcubemem(fcx,fcy);}
      if(button == J_LEFT){ cube_y--; setcubemem(fcx,fcy);}
      if(button == J_RIGHT){ cube_y++; setcubemem(fcx,fcy);}
      box(cube_y*20,cube_x*20,cube_y*20+10,cube_x*20+10,M_FILL);
      if(genenemy % 4 == 0) enemy();
     }
     return(0);
    }
    
    void clearscr(void)
    {
     color(WHITE,WHITE,SOLID);
     box(0,0,GRAPHICS_WIDTH,GRAPHICS_HEIGHT);
     color(BLACK,WHITE,SOLID);
    }
    
    void waitbuttona(void)
    {
     while(1)
     {
      if(joypad() == J_A) break;
     }
    }
    
    void setcubemem(UINT8 formerx,UINT8 formery)
    {
     game_field[formerx][formery] = 0;
     game_field[cube_x][cube_y] = OBJ_PLAYER;
    }
    
    
    void initgame(void)
    {
     game_field[2][3] = OBJ_PLAYER;
    }
    
    void enemy(void)
    {
      initrand(2);
      game_field[rand()][rand()] = OBJ_ENEMY;
      circle(3*20,1*20,20,1);
      if(game_field[cube_x-2][cube_y-2] == OBJ_ENEMY || game_field[cube_x-1][cube_y-1] == OBJ_ENEMY || game_field[cube_x][cube_y] == OBJ_ENEMY || game_field[cube_x+1][cube_y+1] == OBJ_ENEMY || game_field[cube_x+2][cube_y+2] == OBJ_ENEMY)
      {
       wingame();
      }
    }
    
    
    void wingame(void)
    {
     clearscr();
     gotogxy(40,50);
     gprintf("You've won!");
     delay(1000);
     reset();
    }

    Игра на Gameboy Classic(GBDK,написана мною). Без комментариев.

    fedor2612, 28 Июня 2015

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    RECT rect;
    GetWindowRect(hWnd, &rect);
    int iWidth = rect.right - rect.left;
    int iHeight = rect.bottom - rect.top;
    Line(hDC, 0, 0, 5000, 0);
    Line(hDC, 0, 0, 0, 5000);
    Line(hDC, 0, iHeight - 1, iWidth, iHeight - 1);
    Line(hDC, iWidth - 1, 0, iWidth - 1, iHeight - 1);

    Рисование линий на границе окна.

    Janycz, 27 Июня 2015

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