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

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

    0

    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <stdbool.h>
    #include <math.h>
    
    #define width 65
    #define height 25
    
    char mas[height][width+1];
    
    typedef struct {
      int x, y, w;
    } TRocket;
    
    TRocket racket;
    
    typedef struct {  float x, y;  int ix, iy;  float alfa;  float speed;} TBall;
    
    TBall ball;
    
    int hitCnt = 0;int maxHitCnt = 0;
    
    void init(int level)
    {  for(int w=0; w<width; w++)   mas[0][w] = '#';  strncpy(mas[1], mas[0], width)  for(int w=1; w < width-1; w++)   mas[1][w] = ' ';  for(int h=2; h < height; h++)    strncpy(mas[h], mas[1], width);
      if(level == 1)
      {
        for(int w=10; w < width-10; w++)
          mas[5][w] = '#';
      }
    }
    
    void show()
    {
      for(int x=0; x<height; x++)
      {
        printf("%s", mas[x]);   if(x == 3)
          printf("   hit: %d", hitCnt);
        if(x == 4)     printf("   max: %d", maxHitCnt);
        printf("\n");
      }
    }
    
    void initRocket()
    {
      racket.w = 7;
      racket.x = (width - racket.w) / 2;
      racket.y = height - 1;
    }
    
    void initBall()
    {
      moveBall(2.0, 2.0);
      ball.alfa = -1;
      ball.speed = 0.5;
    }
    
    void putBall()
    {
      mas[ball.iy][ball.ix] = '*';
    }
    
    void moveBall(float x, float y)
    {
      ball.x = x;
      ball.y = y;
      ball.ix = (int)ball.x;
      ball.iy = (int)ball.y;
    }
    
    void autoMoveBall()
    {
      if(ball.alfa < 0) ball.alfa += M_PI*2;
      if(ball.alfa > M_PI*2) ball.alfa -= M_PI*2;
      TBall bl = ball;
      moveBall(ball.x + cos(ball.alfa) * ball.speed,
               ball.y + sin(ball.alfa) * ball.speed);
      if(mas[ball.iy][ball.ix] == '#' || mas[ball.iy][ball.ix] == '@')
      {
        if(mas[ball.iy][ball.ix] == '@')

    ебаный рот!

    rom4ik, 03 Июля 2021

    Комментарии (14)
  3. SQL / Говнокод #27264

    0

    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
    SELECT sum(t4.value) as "План", STR_TO_DATE(t4.date, '%d-%m-%Y') AS "time" FROM
    (SELECT  t.id, t.subject, t3.depth, t.value, 
       CASE WHEN t.field_name = "Август 2020 (план)" THEN "2020-08-01"
      WHEN t.field_name = "Август 2020 (факт)" THEN "2020-08-01"
      WHEN t.field_name = "Апрель 2020 (план)" THEN "2020-04-01"
      WHEN t.field_name = "Апрель 2020 (факт)" THEN "2020-04-01"
      WHEN t.field_name = "Декабрь 2020 (план)" THEN "2020-12-01"
      WHEN t.field_name = "Декабрь 2020 (факт)" THEN "2020-12-01"
      WHEN t.field_name = "Июль 2020 (план)" THEN "2020-07-01"
      WHEN t.field_name = "Июль 2020 (факт)" THEN "2020-07-01"
      WHEN t.field_name = "Июнь 2020 (план)" THEN "2020-06-01"
      WHEN t.field_name = "Июнь 2020 (факт)" THEN "2020-06-01"
      WHEN t.field_name = "Май 2020 (план)" THEN "2020-05-01"
      WHEN t.field_name = "Май 2020 (факт)" THEN "2020-05-01"
      WHEN t.field_name = "Март 2020 (план)" THEN "2020-03-01"
      WHEN t.field_name = "Март 2020 (факт)" THEN "2020-03-01"
      WHEN t.field_name = "Ноябрь 2020 (план)" THEN "2020-11-01"
      WHEN t.field_name = "Ноябрь 2020 (факт)" THEN "2020-11-01"
      WHEN t.field_name = "Октябрь 2020 (план)" THEN "2020-10-01"
      WHEN t.field_name = "Октябрь 2020 (факт)" THEN "2020-10-01"
      WHEN t.field_name = "Сентябрь 2020 (план)" THEN "2020-09-01"
      WHEN t.field_name = "Сентябрь 2020 (факт)" THEN "2020-09-01"
      WHEN t.field_name = "Февраль 2020 (план)" THEN "2020-02-01"
      WHEN t.field_name = "Февраль 2020 (факт)" THEN "2020-02-01"
      WHEN t.field_name = "Январь 2020 (план)" THEN "2020-01-01"
      WHEN t.field_name = "Январь 2020 (факт)" THEN "2020-01-01" end AS DATE
       FROM (
              SELECT i.id AS id, i.subject AS subject, i.updated_on as updated_on,
                cf.name AS field_name,
                cv.value AS value
              FROM issues i
            LEFT JOIN custom_values cv
                ON i.id = cv.customized_id
            LEFT JOIN custom_fields cf
                ON cv.custom_field_id=cf.id      
             WHERE cv.customized_type="Issue" and (i.project_id = 2284)) t 
       LEFT join
       (SELECT  t2.id,
      GROUP_CONCAT(DISTINCT(CASE WHEN t2.field_name = "Код бюджета" THEN t2.value else null END)) AS depth   
       FROM (
              SELECT i.id AS id, i.subject AS subject, i.updated_on as updated_on,
                cf.name AS field_name,
                cv.value AS value
              FROM issues i
            LEFT JOIN custom_values cv
                ON i.id = cv.customized_id
            LEFT JOIN custom_fields cf
                ON cv.custom_field_id=cf.id      
             WHERE cv.customized_type="Issue" and (i.project_id = 2284)) t2
       GROUP BY t2.id) t3        
       ON t.id=t3.id
       WHERE INSTR(t.field_name, "план")>0 ) t4
       WHERE substr(t4.date,1,7) in ($time)  and t4.value!=0 and t4.depth=1 and t4.subject = 'Себестоимость реализованной готовой продукции (товаров, работ, услуг)'
       group by t4.date

    https://t.me/dba_ru/131122

    Fike, 19 Февраля 2021

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

    0

    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
    <?php
    
    class ModelExtensionModuleAridiusfastorder extends Model {
    	
    	public function deleteOrder($order_id) {
    		
    		$this->db->query("DELETE FROM " . DB_PREFIX . "aridiusfastorder WHERE order_id = '" . (int) $order_id . "'");
    	}
    
    	public function editOrder($order_id, $data) {
    		
    		$this->db->query("UPDATE `" . DB_PREFIX . "aridiusfastorder` SET firstname = '" . $this->db->escape($data['firstname']) . "',status = '" . $this->db->escape($data['status']) . "',email = '" . $this->db->escape($data['email']) . "',comment_manager = '" . $this->db->escape($data['comment_manager']) . "',contact = '" . $data['contact'] . "' WHERE order_id = '" . (int)$order_id . "'");
    	}
    	
    	public function getOrder($order_id) {
    		
    		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "aridiusfastorder WHERE order_id = '" . (int)$order_id . "'");
    		
    		return $query->row;
    	}
    
    	public function getOrders($data = array()) {
    
    		$sql = "SELECT * FROM " . DB_PREFIX . "aridiusfastorder";
    
    		if (isset($data['filter_order_id']) && !is_null($data['filter_order_id'])) {
    			$sql .= " WHERE order_id = '" . (int) $data['filter_order_id'] . "'";
    		} else {
    			$sql .= " WHERE order_id > '0'";
    		}
    
    		if (!empty($data['filter_contact'])) {
    			$sql .= " AND contact LIKE '%" . $this->db->escape($data['filter_contact']) . "%'";
    		}
    			if (!empty($data['filter_email'])) {
    			$sql .= " AND email LIKE '%" . $this->db->escape($data['filter_email']) . "%'";
    		}
    		if (!empty($data['filter_status'])) {
    			$sql .= " AND status LIKE '%" . $this->db->escape($data['filter_status']) . "%'";
    		}
    		
    		if (!empty($data['filter_firstname'])) {
    			$sql .= " AND firstname LIKE '%" . $this->db->escape($data['filter_firstname']) . "%'";
    		}
    
    		if (!empty($data['filter_product_name'])) {
    			$sql .= " AND product_name LIKE '%" . $this->db->escape($data['filter_product_name']) . "%'";
    		}
    
    		if (!empty($data['filter_date_added'])) {
    			$sql .= " AND DATE(date_added) = DATE('" . $this->db->escape($data['filter_date_added']) . "')";
    		}
    
    		if (!empty($data['filter_total'])) {
    			$sql .= " AND total = '" . (float) $data['filter_total'] . "'";
    		}
    
    		$sort_data = array(
    			'order_id',
    			'status',
    			'email',
    			'contact',
    			'firstname',
    			'product_name',
    			'total',
    			'date_added'
    		);
    
    		if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
    			$sql .= " ORDER BY " . $data['sort'];
    		} else {
    			$sql .= " ORDER BY order_id";
    		}
    
    		if (isset($data['order']) && ($data['order'] == 'DESC')) {
    			$sql .= " DESC";
    		} else {
    			$sql .= " ASC";
    		}
    
    		if (isset($data['start']) || isset($data['limit'])) {
    			if ($data['start'] < 0) {
    				$data['start'] = 0;
    			}
    
    			if ($data['limit'] < 1) {
    				$data['limit'] = 20;
    			}
    
    			$sql .= " LIMIT " . (int) $data['start'] . "," . (int) $data['limit'];
    		}
    
    		$query = $this->db->query($sql);
    
    		return $query->rows;
    	}
    
    	public function getTotalOrders() {

    rastabumper, 25 Ноября 2020

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

    0

    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
    double func_atof(char *p){
    
    	double	 integer = 0.0, div = 1.0 , fract = 0.0 , sign = 1.0;
            
            if(   *p == 45  ){
                      sign = -1.0, *p++ ; 
              }
    	
            while ( isdigit(*p)  ) { 
    	         
                integer = ( *p++ )  +  (10.0   *   integer)  -  48.0 ; 
    	}
    	
             if(*p == 46  ){
    
    	            (*p++ ) ;
    	
            while (  isdigit(*p) )  {
    		
                 fract = ( *p++ )  +  (10.0   *   fract)  -  48.0  ; 
    		
                 div *= 10;		
    
    		}
    
        }
      
    return    (integer  +   fract  / div )  * sign    ;
    }

    Наше всё Гайвер и Сорокин

    Oh-my-God-my-leg, 19 Октября 2020

    Комментарии (14)
  6. Go / Говнокод #26985

    0

    1. 1
    2. 2
    func verbMatches(p abac.Policy, a authorizer.Attributes) bool {
    	// TODO: match on verb

    серёга, задолбал, давай уже в прод катить, потом свою авторизацию сделаешь

    https://github.com/kubernetes/kubernetes/blob/master/pkg/auth/authorizer/abac/abac.go#L178

    Fike, 28 Сентября 2020

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

    +1

    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
    #include <vector>
    #include <cwchar>
    #include <algorithm>
    #include <iostream>
     
    int main()
    {
        std::vector<const wchar_t*> leaders{L"Ленин", L"Сталин", L"Маленков",
            L"Хрущёв", L"Брежнев", L"Андропов", L"Черненко", L"Горбачёв"};
     
        std::sort(leaders.begin(), leaders.end(), [](auto strA, auto strB) {
            return std::wcscmp(strA, strB) < 0;
        });
     
        std::setlocale(LC_ALL, "en_US.utf8");
        std::wcout.imbue(std::locale("en_US.utf8"));
        for (auto leader : leaders)
            std::wcout << leader << '\n';
    }

    Отсюда:
    https://en.cppreference.com/w/cpp/string/wide/wcscmp

    Naf-Naf, 11 Сентября 2020

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

    +1

    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
    void Argument::parseAsInt()
    {
        auto res = std::from_chars(data.data(), data.data() + data.size(), dataInt);
        if (res.ec == std::errc()) {
            setTypeFlag(ArgType::Int);
        }
    }
    
    void Argument::parseAsFloat()
    {
        // Rww: gcc still does not support float from_chars(), lol
        const char *begin = data.data();
        const char *end = begin + data.size();
        char *endPtr = nullptr;
    
        dataFloat = std::strtof(begin, &endPtr);
        if (endPtr == end || dataFloat != 0.0f) {
            setTypeFlag(ArgType::Float);
        } else {
            for (const char *it = endPtr; it < end; it++) {
                if (!std::isspace(*it)) {
                    return;
                }
            }
            setTypeFlag(ArgType::Float);
        }
    }

    Говнокодил тут недавно, долго думал, что считать числом (пет, ТЗ нет). В конце-концов решил считать всё, что можно распарсить.

    gost, 02 Сентября 2020

    Комментарии (14)
  9. Python / Говнокод #26847

    +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
    def __gc(self, state):
        userdata = self.lib.luaL_testudata(self.state, 1, b'python.object')
        if userdata:
            obj_ptr = (c.cast(userdata, c.POINTER(c.py_object))).contents
            if obj_ptr:
                c.pythonapi.Py_DecRef(obj_ptr)
        return 0
    
    def push_object(self, obj):
        userdata = self.lib.lua_newuserdata(self.state, c.sizeof(c.py_object))
        (c.cast(userdata, c.POINTER(c.py_object)))[0] = c.py_object()
    
        if self.lib.luaL_newmetatable(self.state, b'python.object'):
            self.gc_thunk = c.CFUNCTYPE(c.c_int, c.c_void_p)(self.__gc)
            self.lib.lua_pushcclosure(self.state, self.gc_thunk, 0)
            self.lib.lua_setfield(self.state, -2, b'__gc')
            self.lib.lua_pushstring(self.state, b'protected')
            self.lib.lua_setfield(self.state, -2, b'__metatable')
    
        self.lib.lua_setmetatable(self.state, -2)
    
        obj_ptr = c.py_object(obj)
        c.pythonapi.Py_IncRef(obj_ptr)
        (c.cast(userdata, c.POINTER(c.py_object)))[0] = obj_ptr

    Как скрестить ужа с ежом.

    bormand, 07 Августа 2020

    Комментарии (14)
  10. Куча / Говнокод #26843

    0

    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
    гыы gop внатуре пиздишь, lt нах
    
    куку йопта law()  жЫ
        вилкойвглаз(gop типа нечотко)  жЫ
            ксива.малява("Я и правда язык") нах
            gop сука чотко нах
         есть  иливжопураз  жЫ
            gop сука чотко нах
            потрещим(semki чоблясука трулио)  жЫ
                lt сука ксива.вычислитьЛохаПоНомеру("list") нах
                ебало.шухер("Привет, йопта") нах
             есть
         есть
     есть

    YoptaScript

    Может баян, но по поиску не нашёл.

    OCETuHCKuu_nemyx, 05 Августа 2020

    Комментарии (14)
  11. Python / Говнокод #26667

    +1

    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
    from tkinter import *
    from random import randint
    
    f = randint(2, 10)
    s = randint(2, 10)
    r = f * s
    def main_f():
        global f
        global s
        global r
        if r == int(inp.get()):
            ls.configure(text='да! Вы правы')
            f = randint(2, 10)
            s = randint(2, 10)
            r = f * s
            l.configure(text=f'сколько будет {f} * {s}?')
        else:
            ls.configure(text='нет, вы не правы')
            
            l.configure(text=f'сколько будет {f} * {s}?')
        
    
    win = Tk()
    win.title('math')
    
    l = Label(win, text=f'сколько будет {f} * {s}?')
    l.grid(column=0 , row=0)
    
    ls = Label(win, text=' ')
    ls.grid(column=0, row=1)
    
    inp = Entry(win, width=10)
    inp.grid(column=1, row=0)
    
    but = Button(win, text='проверить', command=main_f, fg='red')
    but.grid(column=2, row=0)
    
    win.mainloop()

    третьиклассник решил выучить таблицу умножения

    BananiumPower, 19 Мая 2020

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