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

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    import json
    a = {}
    b = {}
    for i in xrange(128): a[str(i)] = i
    for i in a: b[i] = a[i]
    print a == b
    print json.dumps(a) == json.dumps(b)

    Результат:
    True
    False

    Почему не True True ?

    a02810, 30 Июня 2020

    Комментарии (145)
  3. Куча / Говнокод #25588

    −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
    25. 25
    * * u n s k i l l * * u n s k i l l * * u n s k i l l * *
    u                                                       u
    n                   _,,,-------,, ,-----,,_             n
    s                ,''             `         ``,          s
    k              ,'               /\           ',         k
    i            ,'             ,-''  ``-,          \       i
    l           /          ,,--'          `-,        |      l
    l          /      ,--''                  `-,      |     l
    *         |      |   -,___          ___,-  |     |      *
    u        |      |    _____`-,    ,-'____    |     |     u
    n        |     |    /     \        /    \   |     |     n
    s        |     |   |    O  |   \  |   O  |  |     |     s
    k       |      |    \_____/     \  \____/   |     |     k
    i       |      |                 \          |     |     i
    l      |       |                  \         |     |     l
    l     /         |              ---`         |      |    l
    *    |           \     `:---______---:`     |      |    *
    u    |            \     `,| |  |  | |'     |       |    u
    n   |              \      ``''''''''      /         |   n
    s   |               ',,                ,,'          |   s
    k  |                   ''------------''              |  k
    i  |                     |          |                |  i
    l |                      |          |                 | l
    l |                     |            |                | l
    * * u n s k i l l * * u n s k i l l * * u n s k i l l * *

    AHCKujlbHblu_netyx, 04 Мая 2019

    Комментарии (145)
  4. Куча / Говнокод #25037

    0

    1. 1
    Не нужно было меня банить. Я ничего не нарушал.

    BUTTHURT, 29 Октября 2018

    Комментарии (145)
  5. Куча / Говнокод #17889

    +129

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #widgetu2272.frm-sub-st #u2283-4,#widgetu2272.frm-subm-err-st #u2284-4,#widgetu2272.frm-subm-ok-st #u2282-4,#widgetu2293.frm-sub-st #u2304-4,#widgetu2293.frm-subm-err-st #u2305-4,#widgetu2293.frm-subm-ok-st #u2303-4,#widgetu2575.frm-sub-st #u2586-4,#widgetu2575.frm-subm-err-st #u2577-4,#widgetu2575.frm-subm-ok-st #u2576-4,#widgetu2608.frm-sub-st #u2619-4,#widgetu2608.frm-subm-err-st #u2610-4,#widgetu2608.frm-subm-ok-st #u2609-4,#widgetu2641.frm-sub-st #u2652-4,#widgetu2641.frm-subm-err-st #u2643-4,#widgetu2641.frm-subm-ok-st #u2642-4,#widgetu2471.frm-sub-st #u2472-4,#widgetu2471.frm-subm-err-st #u2483-4,#widgetu2471.frm-subm-ok-st #u2477-4,#widgetu2772.frm-sub-st #u2778-4,#widgetu2772.frm-subm-err-st #u2779-4,#widgetu2772.frm-subm-ok-st #u2777-4,#widgetu2706.frm-sub-st #u2712-4,#widgetu2706.frm-subm-err-st #u2713-4,#widgetu2706.frm-subm-ok-st #u2711-4,#widgetu2404.frm-sub-st #u2405-4,#widgetu2404.frm-subm-err-st #u2419-4,#widgetu2404.frm-subm-ok-st #u2414-4,#widgetu2674.frm-sub-st #u2685-4,#widgetu2674.frm-subm-err-st #u2676-4,#widgetu2674.frm-subm-ok-st #u2675-4,#widgetu2197.frm-sub-st #u2200-3,#widgetu2197.frm-subm-err-st #u2209-4,#widgetu2197.frm-subm-ok-st #u2198-4
    {
    	opacity: 1;
    	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    	filter: alpha(opacity=100);
    	min-height: 51px;
    }

    Сайты, который продают (с)
    Основной хардкор не влез.
    По ссылке вся прелесть бытия:
    http://www.nextpage.com.ua/css/index.css

    thereiter, 30 Марта 2015

    Комментарии (145)
  6. Java / Говнокод #15567

    +73

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    private boolean isAuthorized( ExecutionResult result )
    {
        Iterator<Long> accessCountIterator = result.columnAs( "accessCount" );
        while ( accessCountIterator.hasNext() )
        {
            if (accessCountIterator.next() > 0L)
            {
                return true;
            }
        }
        return false;
    }

    Человек написал книжку по програмированию :(
    isbn:1449356265/9781449356262

    wvxvw, 24 Марта 2014

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

    +106

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $items = array('palto','noski','shapki');
        $colors = array('red','black','white');
        $materials = array('kozha','meh','aluminij');
    
        foreach($items as $item) {
          foreach($colors as $color) {
            foreach($materials as $material) {
              echo $item.'-'.$color.'-'.$material;
              echo '</br>';
            }
          }
        }

    Задача:
    Группа 1.
    Пальто, Шапки, Носки
    Группа 2.
    Красный, Синий, Зеленый
    Группа 3.
    Мех, Кожа

    Необходимы комбинации следующего вида, пример:
    1) Пальто - красный - мех
    2) Пальто - красный - кожа
    3) Пальто - синий - мех
    ....
    N) Носки - зеленый - кожа

    При том условии, что группа занимает только свое место в порядке. Т.е. пальто не может быть 2-ым или 3-им словом в комбинации.

    Vasiliy, 15 Июля 2013

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

    +17

    1. 1
    2. 2
    3. 3
    4. 4
    int a=0; 
    while (a<=1 && a>=0) { 
      a--; 
    }

    Я даже хз, что тут автор делает...

    kostoprav, 19 Июня 2013

    Комментарии (145)
  9. Си / Говнокод #25229

    +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
    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
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    #define SQARESZ 3
    
    
    void rotateclockwise(char *ptra, size_t sz)
    {
        char (*a_ar)[sz] = (void *)ptra;
        char b_ar[sz][sz];
        for (size_t y = 0; y < sz; y++)
        {
            for (size_t x = 0; x < sz; x++)
            {
                b_ar[y][x] = a_ar[sz-1-x][y];
            }
        }
        memcpy(a_ar, b_ar, sz*sz);
    }
    
    void print_ar(char *ptra, size_t sz)
    {
        char (*a_ar)[sz] = (void *)ptra;
        for (size_t y = 0; y < sz; y++)
        {
            for (size_t x = 0; x < sz; x++)
            {
                printf("%i ", a_ar[y][x]);
            }
            printf("\n");
        }
    }
    
    int main()
    {
        char a[SQARESZ][SQARESZ] =
        {
          {1,2,3},
          {4,5,6},
          {7,8,9}
        };
        
        print_ar((char *)a, SQARESZ);
        printf("\n");
        rotateclockwise((char *)a, SQARESZ);
        
        print_ar((char *)a, SQARESZ);
        printf("\n");
        rotateclockwise((char *)a, SQARESZ);
        
        print_ar((char *)a, SQARESZ);
        printf("\n");
        rotateclockwise((char *)a, SQARESZ);
        
        print_ar((char *)a, SQARESZ);
        printf("\n");
        rotateclockwise((char *)a, SQARESZ);
        
        print_ar((char *)a, SQARESZ);
        printf("\n");
    
        return 0;
    }

    https://habr.com/post/317300/ В C++17 до сих пор нет нормальных многомерных массивов, которые были в Fortran начиная с Fortran 90

    > UPD от 2016-12-10 14:03. Посмотрел на этот коммент от @selgjos, поэкспериментировал с компилятором и понял, что с помощью C99 VLA всё-таки можно добиться нужного мне эффекта.
    > В общем, окей, в C есть нужные мне массивы. Как и в Fortran. А в C++ их по-прежнему нет.

    j123123, 26 Декабря 2018

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    //Создаём новое изображение из старого // gif png jpg
                if (preg_match('/[.](GIF)|(gif)$/', $filename)) {
                    $src = imagecreatefromgif($target);         //если оригинал был в формате gif,
                } else if (preg_match('/[.](PNG)|(png)$/', $filename)) {
                    $src = imagecreatefrompng($target);         //если оригинал был в формате png,
                } else if (preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) {
                    $src = ImageCreateFromJPEG($target);        //если оригинал был в формате jpg,
                } else {
                    throw new Exception('формат не определён, шли-бы вы лесом');
                }

    хуита, 20 Января 2014

    Комментарии (144)
  11. Си / Говнокод #13422

    +126

    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
    typedef struct {
      uint32_t id;
      char * title;
    } dbrow_t;
    
    typedef struct {
      char * context;
      dbrow_t dbrow;
    } parser_context_t;
    
    typedef enum {    
      bad_char = 0,
      identifer,
      number,
      state_end_context,  
      state_end_line
    } type_t;
    
    type_t ch_d[0x100] = { [0] = state_end_line, [1 ... 0xff] = bad_char, ['0' ... '9'] = number, ['a' ... 'z'] = identifer, ['\n'] = state_end_context};
    
    inline char * do_other_type(char * p, type_t type) { while(ch_d[*(++p)] == type); return p;}
    
    static inline uint64_t bad_char_headler(parser_context_t * context) { context->context = do_other_type(context->context, bad_char); return 1;}
    
    static inline uint64_t number_headler(parser_context_t * context) {
      uint32_t id = 0; char * p = context->context;
      while(({ id *= 10; id += (*p - '0'); ch_d[*(++p)];}) == number);
      context->dbrow.id = id; context->context = p;
      return 1;
    }
    
    static inline uint64_t identifer_headler(parser_context_t * context) {
      char * p = context->context, * title = context->dbrow.title;
      char * end_identifer = do_other_type(p, identifer);
      memcpy(title, p, (end_identifer - p)); *(title + (end_identifer - p)) = 0;
      context->context = end_identifer;
      return 1;
    }
    
    static inline uint64_t end_context_headler(parser_context_t * context) {
      context->context = do_other_type(context->context, state_end_context);
      if(context->dbrow.id && *context->dbrow.title)
        fprintf(stderr, "id = %u, title = %s\n", context->dbrow.id, context->dbrow.title);
      context->dbrow.id = 0, *context->dbrow.title = 0;
      return 1;
    }
    
    static inline uint64_t end_line_headler(parser_context_t * context) { return 0; }
    
    typedef uint64_t(*headler_ptr_t)(parser_context_t *);
    
    headler_ptr_t headlers[] = { [bad_char] = bad_char_headler, [identifer] = identifer_headler, [number] = number_headler, [state_end_context] = end_context_headler, [state_end_line] = end_line_headler };
    
    int main(void) {
        char * content = strcpy(malloc(50), "1|raz\n11|dva\n21|tri\n31|shestb\n5000|test\n|||\n||\n|\n");
        parser_context_t context = (parser_context_t){ .context = content, .dbrow = (dbrow_t){ .title = malloc(1000)}};
        while(headlers[ch_d[*(context.context)]](&context));
        return 0;
    }

    Решил пацанам показать как писать парсер - вышло говно. Хотя так-то должно тащить - забенчите кто-нибудь, настолько это гумно медленнее strtok()'а.

    superhackkiller1997, 15 Июля 2013

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