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

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

    +24

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    int randomize(int Min, int Max)
    {
    qsrand(QTime::currentTime().msec());
    if (Min > Max)
    {
    int Temp = Min;
    Min = Max;
    Max = Temp;
    }
    return ((qrand()%(Max-Min+1))+Min);
    }

    Всё хорошо?

    Hackeridze, 29 Мая 2013

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

    −164

    1. 1
    SELECT LAST_INSERT_ID() FROM comments;

    Подозреваю, что баян, но найти в чистом виде здесь не смог. Номинант на звание самого короткого анекдота на SQL.

    inkanus-gray, 29 Апреля 2013

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

    +137

    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
    void lcd_goto(unsigned char line, unsigned char pos)
    {
    	...
    	lcd_str_remains = LCD_STR_LEN - pos;
    }
    
    void lcd_putch(char c)
    {
    	lcd_str_remains--;
    	...
    }
    
    void lcd_fill_str(void)
    {
    	char i;
    	for(i=0; i<lcd_str_remains; i++)
    		lcd_putch(' ');
    }

    Паскаль головного мозга. Эх, сколько я этот баг искал.

    kipar, 29 Апреля 2013

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

    +16

    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
    #define TYPE_INIT_(_Number, _Line, _Type,...) struct ln_##_Line##_number_##_Number : public _Type\
    {\
      ln_##_Line##_number_##_Number()\
        :_Type(__VA_ARGS__){}\
    \
      ln_##_Line##_number_##_Number(const _Type& _val)\
        :_Type(_val){}\
    \
      const _Type& operator=(const _Type& _val)\
      {\
        ((_Type)(*this)) = _val;\
        return (*this);\
      }\
    }
    #define TYPE_INIT(_Number, _Line, _Type,...)  TYPE_INIT_(_Number, _Line, _Type, __VA_ARGS__)
    #define INIT(_Type, ...) TYPE_INIT(__COUNTER__, __LINE__, _Type, __VA_ARGS__)
    
    // использование
    
    struct ABC
    {
      int A,B,C;
      
      ABC(int _A,int _B,int _C)
        :A(_A),
        B(_B),
        C(_C)
      {}
    };
    
    
    struct TestClass
    {
      INIT( string, "Ololo" ) lv_String;
      INIT( ABC, 1, 2, 3 ) lv_ABC;
    };

    Оттуда.

    LispGovno, 20 Апреля 2013

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

    +100

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int i = 0;
    foreach (SomeType item in someCollection)
    {
        if (i > 0) break;
    
        // ... обрабатываем item
    }

    Берём первый элемент коллекции и обрабатываем...

    kore_sar, 15 Апреля 2013

    Комментарии (18)
  7. Куча / Говнокод #12886

    +138

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    (04/12/2013 01:39:15 AM) Он: здаров
    (01:39:26 AM) Он: какова хуя $num_point_reverse =  $num_point['number'] - 5;
    (01:39:40 AM) Он: возвращает число и перед числом знак -
    (01:39:42 AM) Он: 
    ?
    (01:50:00 AM) Я: 2-5 =скока?
    (01:50:18 AM) Он: а блядь
    (01:50:25 AM) Я: ))))

    deep, 12 Апреля 2013

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

    +166

    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
    case OP_PSUM_ABS_DIFF:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PSADBW, ins->sreg1, ins->sreg2);
    break;
    
    case OP_UNPACK_LOWB:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PUNPCKLBW, ins->sreg1, ins->sreg2);
    break;
    case OP_UNPACK_LOWW:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PUNPCKLWD, ins->sreg1, ins->sreg2);
    break;
    case OP_UNPACK_LOWD:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PUNPCKLDQ, ins->sreg1, ins->sreg2);
    break;
    case OP_UNPACK_LOWQ:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PUNPCKLQDQ, ins->sreg1, ins->sreg2);
    break;
    case OP_UNPACK_LOWPS:
    x86_sse_alu_ps_reg_reg (code, X86_SSE_UNPCKL, ins->sreg1, ins->sreg2);
    break;
    case OP_UNPACK_LOWPD:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_UNPCKL, ins->sreg1, ins->sreg2);
    break;
    
    case OP_UNPACK_HIGHB:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PUNPCKHBW, ins->sreg1, ins->sreg2);
    break;
    case OP_UNPACK_HIGHW:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PUNPCKHWD, ins->sreg1, ins->sreg2);
    break;
    case OP_UNPACK_HIGHD:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PUNPCKHDQ, ins->sreg1, ins->sreg2);
    break;
    case OP_UNPACK_HIGHQ:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PUNPCKHQDQ, ins->sreg1, ins->sreg2);
    break;
    case OP_UNPACK_HIGHPS:
    x86_sse_alu_ps_reg_reg (code, X86_SSE_UNPCKH, ins->sreg1, ins->sreg2);
    break;
    case OP_UNPACK_HIGHPD:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_UNPCKH, ins->sreg1, ins->sreg2);
    break;
    
    case OP_PACKW:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PACKSSWB, ins->sreg1, ins->sreg2);
    break;
    case OP_PACKD:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PACKSSDW, ins->sreg1, ins->sreg2);
    break;
    case OP_PACKW_UN:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PACKUSWB, ins->sreg1, ins->sreg2);
    break;
    case OP_PACKD_UN:
    x86_sse_alu_sse41_reg_reg (code, X86_SSE_PACKUSDW, ins->sreg1, ins->sreg2);
    break;
    
    case OP_PADDB_SAT_UN:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PADDUSB, ins->sreg1, ins->sreg2);
    break;
    case OP_PSUBB_SAT_UN:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PSUBUSB, ins->sreg1, ins->sreg2);
    break;
    case OP_PADDW_SAT_UN:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PADDUSW, ins->sreg1, ins->sreg2);
    break;
    case OP_PSUBW_SAT_UN:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PSUBUSW, ins->sreg1, ins->sreg2);
    break;
    
    case OP_PADDB_SAT:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PADDSB, ins->sreg1, ins->sreg2);
    break;
    case OP_PSUBB_SAT:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PSUBSB, ins->sreg1, ins->sreg2);
    break;
    case OP_PADDW_SAT:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PADDSW, ins->sreg1, ins->sreg2);
    break;
    case OP_PSUBW_SAT:
    x86_sse_alu_pd_reg_reg (code, X86_SSE_PSUBSW, ins->sreg1, ins->sreg2);
    break;

    https://github.com/mono/mono/blob/master/mono/mini/mini-x86.c#L2481

    3.14159265, 22 Марта 2013

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

    +14

    1. 1
    2. 2
    3. 3
    4. 4
    template<typename T>
    constexpr size_t printed_sizeof() {
        return log10(sizeof(T)) + 1;
    }

    Осваиваем новые стандарты.

    roman-kashitsyn, 19 Марта 2013

    Комментарии (18)
  10. bash / Говнокод #12767

    −123

    1. 1
    if ps ax | grep -v grep | grep keydispatcher > /dev/null

    no comments. но блин, даже "работает". т.е. без этого grep -v grep лажает, а с ним - нет (видимо потому что второй греп не успевает запуститься пока ps ax отрабатывает). однако...

    Pencioner, 18 Марта 2013

    Комментарии (18)
  11. Куча / Говнокод #12614

    +133

    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
    drwxrwxrwx  1 wvxvw None       0 02-17 16:59 .svn
      -rw-rw-rw-  1 wvxvw None   22082 02-04 11:03 header.asp
      -rw-rw-rw-  1 wvxvw None   14331 02-04 11:02 header.utf.asp
      -rw-rw-rw-  1 wvxvw None   10333 02-04 11:01 header2.asp
      -rw-rw-rw-  1 wvxvw None   10368 02-04 11:02 header2_test.asp
      -rw-rw-rw-  1 wvxvw None   11825 02-04 11:02 header3.asp
      -rw-rw-rw-  1 wvxvw None   11734 02-04 11:03 header3_liran.asp
      -rw-rw-rw-  1 wvxvw None   11238 02-04 11:01 header3_old.asp
      -rw-rw-rw-  1 wvxvw None    7403 02-04 11:02 header3_ssl.asp
      -rw-rw-rw-  1 wvxvw None    9045 02-04 11:01 header3del.asp
      -rw-rw-rw-  1 wvxvw None   39451 02-04 11:02 header4.asp
      -rw-rw-rw-  1 wvxvw None   40224 02-04 11:02 header4_new.asp
      -rw-rw-rw-  1 wvxvw None   13348 02-04 11:02 header4rus.asp
      -rw-rw-rw-  1 wvxvw None     230 02-04 11:02 headers.asp
      -rw-rw-rw-  1 wvxvw None     208 02-06 09:37 headers.php

    Наследство.

    wvxvw, 19 Февраля 2013

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