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

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

    +56

    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
    template<typename T, typename E=emp> class _interlock;
    		template<typename T> class _interlock
    			<T,
    			typename std::enable_if<
    				std::is_same<
    					typename std::conditional<
    						std::is_same<udi,typename std::make_unsigned<T>::type>::value,
    						udi,
    						uqi
    					>::type,
    					typename std::make_unsigned<T>::type
    				>::value
    			>::type
    			>
    		{
    		public:
    
    			_interlock
    				<T,
    				typename std::enable_if<
    				std::is_same<
    				typename std::conditional<
    				std::is_same<udi,typename std::make_unsigned<T>::type>::value,
    				udi,
    				uqi
    				>::type,
    				typename std::make_unsigned<T>::type
    				>::value
    				>::type
    				>
    				(T x=0)
    			{
    				number=x;
    			}
    
    			//Возвращается прежнее значение
    			T operator + (T x)
    			{
    				return (T)InterlockedExchangeAdd((_unsign_t*)&number,(_sign_t)x);
    			}
    
    			//Возвращается прежнее значение
    			T operator - (T x)
    			{
    				return (T)InterlockedExchangeAdd((_unsign_t*)&number,-(_sign_t)x);
    			}
    
    			//Чтение
    			T operator () ()
    			{
    				return number;
    			}
    
    			//Замена на x
    			T operator () (T x)
    			{
    				return (T)InterlockedExchange((_unsign_t*)&number,(_unsign_t)x);
    			}
    
    			//Сравнение с y, замена на x, если равны
    			T operator () (T x, T y)
    			{
    				return (T)InterlockedCompareExchange((_unsign_t*)&number,(_unsign_t)x,(_unsign_t)y);
    			}
    			
    			T operator ++ ()
    			{
    				return (T)InterlockedExchangeAdd((_unsign_t*)&number,1)+1;
    			}
    
    			T operator -- ()
    			{
    				return (T)InterlockedExchangeAdd((_unsign_t*)&number,-1)-1;
    			}
    
    			T operator ++ (int)
    			{
    				return (T)InterlockedExchangeAdd((_unsign_t*)&number,1);
    			}
    
    			T operator -- (int)
    			{
    				return (T)InterlockedExchangeAdd((_unsign_t*)&number,-1);
    			}
    
    		private:
    			typedef typename std::make_unsigned<T>::type _unsign_t;
    			typedef typename std::make_signed<T>::type _sign_t;
    			volatile T number;
    		};

    Функция "ИЛИ" для типов через type_traits для шаблона. А также атомарный: сумматор, счётчик, компаратор с возможностью условной и безусловной замены значения в одном лице. Для типов: udi (unsigned int), sdi (signed int), uqi (unsigned long long), sqi (signed long long). Тип emp = void (от слова empty).

    Tirannozavr, 13 Марта 2015

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

    +60

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    const QStringList numbers = QString::fromUtf8("Ноль|" \
                                                                                         "Один|" \
                                                                                         "Два|" \
                                                                                         "Три|" \
                                                                                         "Четыре|" \
                                                                                         "Пять|" \
                                                                                         "Шесть|" \
                                                                                         "Семь|" \
                                                                                         "Восемь|" \
                                                                                         "Девять" \
                                                                                        ).split('|');

    absolut, 08 Февраля 2015

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

    +138

    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
    *[name="mq-reference-view"][checked] + * + .mq-reference-person {
        margin-left: 0;
    }
    
    *[name="mq-reference-view"][checked] + * + * + * + * ~ .mq-reference-person {
        margin-left: 18px;
    }
    
    *[name="mq-reference-view"][checked] + * + * + * + * + * + * + * + * ~ .mq-reference-person {
        margin-right: -232px;
    }
    
    @media (mq-width: 772px) {
        #mq-reference-open-1[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + * + * + * + .mq-reference-person,
        #mq-reference-open-2[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + * + * + * + .mq-reference-person {
            margin-right: -232px;
        }
        #mq-reference-open-3[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + .mq-reference-person,
        #mq-reference-open-4[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + .mq-reference-person {
            margin-left: -232px;
        }
        #mq-reference-open-3[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + .mq-reference-person,
        #mq-reference-open-4[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + .mq-reference-person {
            margin-left: 0;
        }
    }
    
    @media (mq-width: 534px) {
        #mq-reference-open-1[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + .mq-reference-person,
        #mq-reference-open-3[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + * + * + * + .mq-reference-person {
            margin-right: -232px;
        }
        #mq-reference-open-2[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + .mq-reference-person,
        #mq-reference-open-4[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + .mq-reference-person {
            margin-left: -232px;
        }
        #mq-reference-open-2[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + .mq-reference-person,
        #mq-reference-open-4[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + * + * + * + .mq-reference-person {
            margin-left: 0;
        }
    }
    
    #mq-reference-open-1[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + .mq-reference-person,
    #mq-reference-open-2[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + .mq-reference-person,
    #mq-reference-open-3[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + .mq-reference-person,
    #mq-reference-open-4[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + * + * + * + .mq-reference-person {
        opacity: 1;
        filter: Alpha(opacity=100);
    }

    По-соседски

    nikpachoo, 02 Февраля 2015

    Комментарии (24)
  5. JavaScript / Говнокод #17561

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    this.alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
    this.identityDefence = this.alphabet[Math.floor(Math.random() * (this.alphabet.length - 1))] + Math.floor(Math.random() * 1000) 
    + this.alphabet[Math.floor(Math.random() * (this.alphabet.length - 1))] 
    + this.alphabet[Math.floor(Math.random() * (this.alphabet.length - 1))] + Math.floor(Math.random() * 1000) 
    + this.alphabet[Math.floor(Math.random() * (this.alphabet.length - 1))] + Math.floor(Math.random() * 1000);

    А как вы генерируете случайный id объектов?

    SuperCuke, 02 Февраля 2015

    Комментарии (24)
  6. Куча / Говнокод #17516

    +132

    1. 1
    2. 2
    https://github.com/stulluk/FFmpeg-Cedrus
    Хотел клонировать реп. Ждал час. Ждал другой. Посмотрел внутрь

    Видимо человек встретился с git впервые.
    Хорошо хоть,что он исходник в .gitignore не хранит.

    mittorn, 25 Января 2015

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

    +51

    1. 1
    auto a = []{return 1;}();

    http://rextester.com/NQVDP75721

    LispGovno, 08 Января 2015

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

    +94

    1. 1
    2. 2
    3. 3
    4. 4
    public static string ToNew(this String source)
    {
        return new string(source.ToCharArray());
    }

    pushistayapodmyshka, 04 Декабря 2014

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

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    struct tm * localtime (const time_t * timer);
    
    A pointer to a tm structure with its members filled with the values
     that correspond to the local time representation of timer.
    
     The returned value points to an internal object whose validity or
     value may be altered by any subsequent call to gmtime or localtime.

    Я нуб, впервые вижу такой способ вернуть структуру.

    TarasB, 18 Октября 2014

    Комментарии (24)
  10. Си / Говнокод #16816

    +133

    1. 1
    2. 2
    //str will destroy
    char* strdup_(char* str){

    wat?

    LispGovno, 07 Октября 2014

    Комментарии (24)
  11. JavaScript / Говнокод #16763

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    var shops=new Array();
    shops[shops.length] = new Array('',' ');
    shops[shops.length] = new Array(' The Jewel Box', '135956406_923');
    shops[shops.length] = new Array(' Склад 1', '135956406_923');

    И таких вызовов порядка 2к

    via http://pickpoint.ru/monitoring/

    kopoBko, 24 Сентября 2014

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