1. PHP / Говнокод #19249

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $safeGet=$_GET;
    
    $registry = ipsRegistry::instance();
    $registry->init();
    
    $_GET=$safeGet; // fucking ips registry

    Люблю IPB

    ZhoZho, 26 Декабря 2015

    Комментарии (0)
  2. C# / Говнокод #19248

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static bool IsNullOrEmpty(this string str)
    	{
    		return string.IsNullOrEmpty(str);
    	}
    
    	public static bool IsNotNullOrEmpty(this string str)
    	{
    		return !string.IsNullOrEmpty(str);
    	}

    экономия должна быть экономной

    esromhaz, 26 Декабря 2015

    Комментарии (11)
  3. PHP / Говнокод #19247

    +5

    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
    <?if($DATE$='14.12.2015')?>17 дней до нового года<?endif?>
    <?if($DATE$='15.12.2015')?>16 дней до нового года<?endif?>
    <?if($DATE$='16.12.2015')?>15 дней до нового года<?endif?>
    <?if($DATE$='17.12.2015')?>14 дней до нового года<?endif?>
    <?if($DATE$='18.12.2015')?>13 дней до нового года<?endif?>
    <?if($DATE$='19.12.2015')?>12 дней до нового года<?endif?>
    <?if($DATE$='20.12.2015')?>11 дней до нового года<?endif?>
    <?if($DATE$='21.12.2015')?>10 дней до нового года<?endif?>
    <?if($DATE$='22.12.2015')?>9 дней до нового года<?endif?>
    <?if($DATE$='23.12.2015')?>8 дней до нового года<?endif?>
    <?if($DATE$='24.12.2015')?>7 дней до нового года<?endif?>
    <?if($DATE$='25.12.2015')?>6 дней до нового года<?endif?>
    <?if($DATE$='26.12.2015')?>5 дней до нового года<?endif?>
    <?if($DATE$='27.12.2015')?>4 дня до нового года<?endif?>
    <?if($DATE$='28.12.2015')?>3 дня до нового года<?endif?>
    <?if($DATE$='29.12.2015')?>2 дня до нового года<?endif?>
    <?if($DATE$='30.12.2015')?>1 день до нового года<?endif?>
    <?if($DATE$='31.12.2015')?>
    <?if($HOUR$='0')?>23 часа до нового года<?endif?>
    <?if($HOUR$='1')?>22 часа до нового года<?endif?>
    <?if($HOUR$='2')?>21 час до нового года<?endif?>
    <?if($HOUR$='3')?>20 часов до нового года<?endif?>
    <?if($HOUR$='4')?>29 часов до нового года<?endif?>
    <?if($HOUR$='5')?>18 часов до нового года<?endif?>
    <?if($HOUR$='6')?>17 часов до нового года<?endif?>
    <?if($HOUR$='7')?>16 часов до нового года<?endif?>
    <?if($HOUR$='8')?>15 часов до нового года<?endif?>
    <?if($HOUR$='9')?>14 часов до нового года<?endif?>
    <?if($HOUR$='10')?>13 часов до нового года<?endif?>
    <?if($HOUR$='11')?>12 часов до нового года<?endif?>
    <?if($HOUR$='12')?>11 часов до нового года<?endif?>
    <?if($HOUR$='13')?>10 часов до нового года<?endif?>
    <?if($HOUR$='14')?>9 часов до нового года<?endif?>
    <?if($HOUR$='15')?>8 часов до нового года<?endif?>
    <?if($HOUR$='16')?>7 часов до нового года<?endif?>
    <?if($HOUR$='17')?>6 часов до нового года<?endif?>
    <?if($HOUR$='18')?>5 часов до нового года<?endif?>
    <?if($HOUR$='19')?>4 часа до нового года<?endif?>
    <?if($HOUR$='20')?>3 часа до нового года<?endif?>
    <?if($HOUR$='21')?>2 часа до нового года<?endif?>
    <?if($HOUR$='22')?>1 часа до нового года<?endif?>
    <?if($HOUR$='23')?>Меньше часа до нового года!<?endif?><?endif?>
    <?if($DATE$='01.01.2016')?>С новым 2016 годом!<?endif?>

    Отсчет дней до нового года для uCoz без JavaScript
    Увидел случайно на одном сайте...

    WestlE, 26 Декабря 2015

    Комментарии (6)
  4. JavaScript / Говнокод #19245

    +1

    1. 1
    2. 2
    3. 3
    function intersectRange (r1, r2) {
         return !(Math.max(r1['min'], r2['min']) > Math.min(r1['max'], r2['max']));
     }

    Пересечения диапазонов.
    Это то самое, которое: (r1[min] <= r2[max]) and (r1[max] >= r2[min])
    Я ж джва года над этим думал, прежде чем накласть.

    bot, 25 Декабря 2015

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

    −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
    template <typename T> 
    void doSomething(const T& i_field, unsigned int i_offset)
    {
       ...
    }
    
    template <> 
    void doSomething<Boo>(const Boo& i_field, unsigned int i_offset)
    {
       doSomething(i_field.aaa, i_offset + offsetof(Boo, aaa));
       doSomething(i_field.bbb, i_offset + offsetof(Boo, bbb));
       doSomething(i_field.ccc, i_offset + offsetof(Boo, ccc));
    }
    
    ...
    
    template <class T, typename S>
    void addSomething(S T::* i_pField)
    {
       const T* pR = 0;
       const unsigned int offset = (unsigned int)&(pR->*i_pField);
       doSomething(pR->*i_pField, offset);
    }

    Увидел вот такой код (рабочий!) в одном довольно крупном проекте.

    -Eugene-, 25 Декабря 2015

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

    +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
    langDict0.Add(eng , new string[] { ger, fre, spa, chi, rus, jap, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(ger , new string[] { eng, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(fre , new string[] { eng, ger, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(spa , new string[] { eng, ger, fre, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(chi , new string[] { eng });
    langDict0.Add(rus , new string[] { eng });
    langDict0.Add(jap , new string[] { eng });
    langDict0.Add(por , new string[] { eng, ger, fre, spa, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(ita , new string[] { eng, ger, fre, spa, por, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(dut , new string[] { eng, ger, fre, spa, por, ita, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(pol , new string[] { eng, ger, fre, spa, por, ita, dut, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal  });
    langDict0.Add(swe , new string[] { eng, ger, fre, spa, por, ita, dut, pol, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(dan , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(fin , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(gre , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(cze , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(rom , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(hun , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(slvk, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, bul, slvn, lit, lat, est, mal });
    langDict0.Add(bul , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, slvn, lit, lat, est, mal });
    langDict0.Add(slvn, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, lit, lat, est, mal });
    langDict0.Add(lit , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lat, est, mal });
    langDict0.Add(lat , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, est, mal });
    langDict0.Add(est , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, mal });
    langDict0.Add(mal, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est });

    ffff, 25 Декабря 2015

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

    +3

    1. 1
    .main_page_desktop .menu_home .menu_home_banner .catalog_home_banner .catalog__product:nth-child(1) a:hover .catalog__product_img:after {width: 40%;left: 27%;}

    Верстаем по методологии БЭМ, не разобрашись в сути

    AntonMMF, 25 Декабря 2015

    Комментарии (2)
  8. JavaScript / Говнокод #19240

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    } else if(location.href.split('#')[1] == 'optimal') {
            var str = $($('.dropdown-section-title')[1]).text().trim();
            $('#package_select').removeClass('services-package-start').addClass('services-package-optimal');
            $('#package_select').text(str+' ('+$($($('.form_select_body')[1]).find('.dropdown').find('.services-package-optimal')[1]).text().trim()+')');
            $('.package-overview-price p').text(pricesCost[getCookie('language')] + prices[parseInt($($($('.form_select_body')[1]).find('.dropdown').find('.services-package-optimal')[1]).text().trim())]);//+ pricesMonth[getCookie('language')]
            $('.registration-section-right').find('.packages-overview-section').find('.package-overview-price').addClass('services-package-optimal');
            $('.registration-section-left').find('.service-packages-select').find('span.value').removeClass('services-package-start').addClass('services-package-optimal').text(str+' ('+$($($('.form_select_body')[1]).find('.dropdown').find('.services-package-optimal')[1]).text().trim()+')');

    user-dob, 25 Декабря 2015

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

    +3

    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
    const char _LETTERS[] =
    "000000000000000000000000000000000000000000000000000000000000000001111111111<...>";
    const char _DIGITS[] =
    "000000000000000000000000000000000000000000000000111111111100000000000000000<...>";
    const char _CONTROL_CHARS[] =
    "111111111111111111111111111111110000000000000000000000000000000000000000000<...>";
    const char _PUNCT_CHARS[] =
    "000000000000000000000000000000000111011111101111000000000011000110000000000<...>";
    const char _SEP_CHARS[] =
    "000000000000000000000000000000001000000000000000000000000000000000000000000<...>";
    const char _SYM_CHARS[] =
    "000000000000000000000000000000000000100000010000000000000000111000000000000<...>";
    
    #define min(i,l,I) (((i) < (l)) ? (((i) < (I)) ? (i) : (I)) : (((l) < (I)) ? (l) : (I)))
    
    bool CharIsLetter(wchar_t c) {
      return _LETTERS[c] != L'0';
    }
    bool CharIsDigit(wchar_t c) {
      return _DIGITS[c] != L'0';
    }
    bool CharIsControl(wchar_t c) {
      return _CONTROL_CHARS[c] != L'0';
    }
    bool CharIsPunctuation(wchar_t c) {
      return _PUNCT_CHARS[c] != L'0';
    }
    bool CharIsSeparator(wchar_t c) {
      return _SEP_CHARS[c] != L'0';
    }
    bool CharIsSymbol(wchar_t c) {
      return _SYM_CHARS[c] != L'0';
    }

    Лёшенька Кондратьев учится оптимизации

    groser, 25 Декабря 2015

    Комментарии (14)
  10. 1C / Говнокод #19238

    −101

    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
    // Процедура организует выбор элементов по результату запроса
    Процедура ВыбратьЭлементОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка, ОбработкаПоискаПоСтроке, ТекстПоискаПоСтроке, РезультатЗапроса, ЭтаФорма, ПоследнееЗначениеЭлементаПоискаПоСтроке = Неопределено, 
    											ПриОтсутствииЗначенияОставлятьТекст = Истина, ПоляПоиска, ПолеВыбора, 
    											СтруктураВыбранногоЭлемента = Неопределено, ОсновноеПредставлениеВВидеКода = Ложь,
    											Знач СообщатьПользователюОбОшибкеВводаДанных = Истина)
    
    
    // Процедура организует выбор элементов по результату запроса
    Процедура ВыбратьЭлементОкончаниеВводаАдресногоКлассификатора(Элемент, Текст, Значение, СтандартнаяОбработка, ОбработкаПоискаПоСтроке, ТекстПоискаПоСтроке, РезультатЗапроса, ЭтаФорма, ПоследнееЗначениеЭлементаПоискаПоСтроке = Неопределено, 
    											ПриОтсутствииЗначенияОставлятьТекст = Истина, ПоляПоиска, ПолеВыбора, 
    											СтруктураВыбранногоЭлемента = Неопределено, НачальныйУровеньДетализации = 0, КонечныйУровеньДетализации = 5)
    
    
    // Процедура организует выбор элементов по результату запроса
    Процедура ВыбратьЭлементОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка, ОбработкаПоискаПоСтроке, ТекстПоискаПоСтроке, РезультатЗапроса, ЭтаФорма, ПоследнееЗначениеЭлементаПоискаПоСтроке = Неопределено, 
    											ПриОтсутствииЗначенияОставлятьТекст = Истина, ПоляПоиска, ПолеВыбора, 
    											СтруктураВыбранногоЭлемента = Неопределено, ОсновноеПредставлениеВВидеКода = Ложь,
    											Знач СообщатьПользователюОбОшибкеВводаДанных = Истина)

    Просто пара заголовков процедур из типовых конфигураций 1С (15 параметров, Карл, там 15 параметров!). Сопроводительные комментарии прилагаются.
    К слову сами процедуры занимают не более 20 строк, но самое забавное заключается в том, что некоторые параметры вообще не используются при работе процедуры.

    CMblCL, 25 Декабря 2015

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