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

    В номинации:
    За время:
  2. 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)
  3. JavaScript / Говнокод #18594

    +2

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

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

    fxt, 13 Августа 2015

    Комментарии (5)
  4. 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)
  5. 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)
  6. 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)
  7. Си / Говнокод #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)
  8. 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)
  9. Objective C / Говнокод #18364

    −395

    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
    + (NSArray *)orderDBFilePaths:(NSArray *)paths {
        NSMutableDictionary *dictionary = [NSMutableDictionary new];
        
        for (NSString *path in paths) {
            if ([path hasSuffix:@"-shm"]) {
                [dictionary setObject:path forKey:@2];
            } else if ([path hasSuffix:@"-wal"]) {
                [dictionary setObject:path forKey:@1];
            } else {
                [dictionary setObject:path forKey:@0];
            }
        }
        
        return @[dictionary[@0], dictionary[@1], dictionary[@2]];
    }

    Сортировка фалов *.sqlite* в порядке *.sqlite, *.sqlite-wal, *.sqlite-shm для бэкапа правильного рестора бэкапа в коде 4х летней давности.

    Drenwtc, 18 Июня 2015

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    public static bool IsEmpty(this string input)
            {
                return String.IsNullOrEmpty(input);
            }

    А почему бы и да?

    alexCoder2007, 17 Июня 2015

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

    −89

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public class Klass_vzaimosvyazey
    {
          static public var panel_sloyev:*;                        //Ссылка на объект содержащий: "Панель Слоев".
          static public var kontyeiner_vizualizatsii:*;     //Ссылка на объект содержащий: "Контейнер Визуализации"
          ...
          static public var ispolzovaniye_kombinatsii_reguliruyushchego_klapana_i_regulyatora_perepada_davleniya:Object = { znacheniye: "Не использовать" };
          static public var ispolzovaniye_elektroprivoda_s_vozvratnoy_pruzhinoy_GVS:Object = { znacheniye: "Нет" };
          static public var ispolzovaniye_elektroprivoda_s_vozvratnoy_pruzhinoy_SO_SV:Object = { znacheniye: "Нет" };

    В программе есть класс, который хранит вот такие вот штуки. Видимые отовсюду в коде. Их сотни. Вот с такими названиями. Хранят вот такое. Есть нетипизированные.

    Инкапсуляция? Не, не слышал. Строгая типизация? Да ладно - зачем?

    teoadal, 11 Июня 2015

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