1. Список говнокодов пользователя 3.14159265

    Всего: 150

  2. Куча / Говнокод #16093

    +96

    1. 1
    2. 2
    var m = map[int]string { 1: "one", 2: "two", 3: "three", }
    if val, ok := m[3]; ok { fmt.Printf("Yes! %s\n",val) }	else { fmt.Println("No!") }

    Почему в Go первое присваивание надо писать через =
    А то что в if через :=
    http://ideone.com/cPf2cw
    http://ideone.com/fork/cPf2cw

    3.14159265, 01 Июня 2014

    Комментарии (41)
  3. Си / Говнокод #16041

    +118

    1. 1
    ... *sizeof(uint32_t)

    Правильно. А то вдруг кто его переопределит.

    3.14159265, 22 Мая 2014

    Комментарии (81)
  4. Java / Говнокод #14541

    +174

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Float f = 1.25f;
    int i = Float.floatToIntBits(f);
    i++;
    f = Float.intBitsToFloat(i);
    //I wanted 2.25, but got 1.2500001 instead.

    http://stackoverflow.com/questions/9921690/java-increment-through-float-floattointbits

    3.14159265, 11 Февраля 2014

    Комментарии (44)
  5. Java / Говнокод #14404

    +174

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    static String asHex(int i){
    		return
    			Joiner.on( " " ).join(
    				Splitter.fixedLength( 4 ).split(
    					String.format("%s8", Integer.toHexString(i))
    						.replace(' ', '0')
    				)
    			);
    }

    LINQ-мышление в жабе.

    3.14159265, 23 Января 2014

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

    +171

    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
    public abstract class BaseDateTime
            extends AbstractDateTime
            implements ReadableDateTime, Serializable {
    
        /** The millis from 1970-01-01T00:00:00Z */
        private volatile long iMillis;
        /** The chronology to use */
        private volatile Chronology iChronology;
    
    /////////////////////////////////////////////////////////////////	
    /*	
     * DateTime is thread-safe and immutable, provided that the Chronology is as well.
     * All standard Chronology classes supplied are thread-safe and immutable.
     *
     * @see MutableDateTime
     */
    public final class DateTime
            extends BaseDateTime

    Любителям joda-time.
    Cмущает меня этот volatile, который приходит в немутабельный класс от родителя.

    3.14159265, 14 Октября 2013

    Комментарии (73)
  7. Java / Говнокод #13292

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    package com.sun.jersey.core.util;
    
    public class KeyComparatorLinkedHashMap<K, V>
            extends KeyComparatorHashMap<K, V>
    ....
    public class StringKeyIgnoreCaseMultivaluedMap<V>
            extends KeyComparatorLinkedHashMap<String, List<V>>
    ....
    public class StringKeyStringValueIgnoreCaseMultivaluedMap
            extends StringKeyIgnoreCaseMultivaluedMap<String> {
    ....

    Женерики не нужны.

    3.14159265, 03 Июля 2013

    Комментарии (3)
  8. Java / Говнокод #13017

    +173

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private static String formatDateFull(Calendar date) {
    	if (date == null)
    		return "&nbsp;";
    	else
    		try {
    			return dateOutFormatFull.format(date.getTime());
    		} catch(Exception ex) {
    			return "&nbsp;";
    		}
    }
    private static final SimpleDateFormat dateOutFormatFull = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss.SSS");

    3.14159265, 18 Мая 2013

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

    +191

    1. 1
    2. 2
    3. 3
    var bytes = new byte[] {0, 0, 0, 1};
    var littleEndianBytes = bytes.Reverse().ToArray();
    Single x = BitConverter.ToSingle(littleEndianBytes, 0);

    http://stackoverflow.com/questions/1603295/fast-way-to-swap-bytes-in-array-from-big-endian-to-little-endian-in-c-sharp
    Обратный порядок байт.
    http://stackoverflow.com/a/2473895
    I use LINQ, Chuck Norris said.
    Фраза просто убила. Они совсем уже одурели?

    3.14159265, 29 Марта 2013

    Комментарии (5)
  10. 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)
  11. JavaScript / Говнокод #12672

    +179

    1. 1
    $.datepicker.formatDate('yy-mm-dd', new Date(2007, 1 - 1, 26));

    Форматирование даты в жс. Без jQuery ясное дело не обойтись.
    If you are already using jQuery UI in your project, you can use the built-in datepicker method for formatting your date object:
    http://stackoverflow.com/a/7022296
    Раз уж неделя стековерфловочки...

    3.14159265, 01 Марта 2013

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