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

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

    +56

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    int count = 0;
    while (condition) {
        if (count == 5) { // Kind of like sleeping for 0.2 milliseconds
            Sleep(1);
            count = 0;
        }
        // Do whatever.
        count++;
    }

    Последний ответ, показывает способ усыпить комп на 0.2 ms. И это после ответов со всякими сокетами, boost-таймерами и прочей мутью. Ответ такой типа, эй, чуваки вы ничо не понимаете, вот как надо, удобно же че бы нет))
    http://stackoverflow.com/questions/85122/how-to-make-thread-sleep-less-than-a-millisecond-on-windows/11456112#11456112

    vitaly, 17 Марта 2015

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $('#Leasing_payment_sum').keyup(function(){
        if($(this).val()/$(this).val()){
            var result = $(this).val()*1+$(this).val()*0.18;
            $('#Leasing_payment_sum_with_nds').val(result.toFixed(2));
        }
    });

    Удивляет проверка...

    creepy-code, 16 Марта 2015

    Комментарии (5)
  4. ActionScript / Говнокод #17789

    −95

    1. 1
    2. 2
    if (avoidFlickeringTimer.running);
        avoidFlickeringTimer.reset();

    чинили-чинили...

    wvxvw, 15 Марта 2015

    Комментарии (5)
  5. SQL / Говнокод #17772

    −170

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    CREATE TABLE `static_answers` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
      `question_id` int(11) unsigned NOT NULL,
      `title` varchar(255) NOT NULL,
      `is_correct` enum('0','1') NOT NULL,
      `created_at` int(11) unsigned NOT NULL,
      `updated_at` int(11) unsigned NOT NULL,
      `hits` int(10) unsigned NOT NULL DEFAULT '0',
    ...
    )

    Смотрим объявление поля is_correct
    ... Взорвали мозг пытаясь понять, почему: ожидаемый chance = (!фактический chance) в запросе:
    SELECT
    a.`id`, is_correct, IF(`is_correct`, 1, 0) chance
    FROM `static_answers` a
    WHERE q.`id` = 3268

    dwsVad, 12 Марта 2015

    Комментарии (5)
  6. PHP / Говнокод #17753

    +167

    1. 1
    error_reporting(FALSE);

    Я пофиксил баги в вашем проекте :)

    proweber1, 09 Марта 2015

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

    +144

    1. 1
    Zaebali v komenty govno pisat !

    vot tak!

    mikamika83, 06 Марта 2015

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

    −96

    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
    Если ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "0" Тогда 
    	СтатусДоставки="0";
    ИначеЕсли ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "1" Тогда 
    	СтатусДоставки="1";
    ИначеЕсли ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "2" Тогда 
    	СтатусДоставки="2";
    ИначеЕсли ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "3" Тогда
    	
    	ДопЗначение=ДеревоXML.Строки[0].Строки[1].ЗначениеXMLЭлементаДанных;
    	
    	СтатусДоставки="3"+ДопЗначение;
    ИначеЕсли ДеревоXML.Строки[0].Строки[0].ЗначениеXMLЭлементаДанных = "4" Тогда 
    	СтатусДоставки="4";
    КонецЕсли;

    p0p, 06 Марта 2015

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

    −387

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    @implementation UINavigationController (LastControllerBar)
    
    - (UIStatusBarStyle)preferredStatusBarStyle {
        if (self.viewControllers.count)
            return [[self.viewControllers lastObject] preferredStatusBarStyle];
        return UIStatusBarStyleDefault;
    }
    @end

    Категория из VKSDK: https://github.com/VKCOM/vk-ios-sdk/blob/master/sdk/Source/Views/VKAuthorizeController.m
    Долго разбирался, почему у меня буквы в статусбаре стали чёрными.

    watupiwa, 27 Февраля 2015

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

    +51

    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
    template<class T, size_t N>
    constexpr size_t sa(T (&)[N])
    {
    	return N;
    };
    
    static std::memory_order mmo[] = 
    {
        memory_order_relaxed,
        memory_order_consume,
        memory_order_acquire,
        memory_order_release,
        memory_order_acq_rel,
        memory_order_seq_cst
    };
    
    std::memory_order current_program_memory_order()
    {
    	return mmo[rand()%sa(mmo)];
    }
    
    void current_program_memory_barier()
    {
    	std::atomic_thread_fence(current_program_memory_order());
    }

    LispGovno, 23 Февраля 2015

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

    +159

    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
    function build_period($crews){
    	global $start_time, $end_time, $memc;
    	cache_smens();
    	//Добавление смен и исключений
    	foreach ($crews as $k => $v){
    		$re1 = @$memc->get($v['ID']);
    		if (is_array($re1)){
    			foreach ($re1 as $v1){
    				$crews[$k]['sm'][] = $v1;
    			}
    		}
    		$re2 = get_exception($v);
    		foreach ($re2 as $v2){
    			$crews[$k]['sm'][] = $v2;
    		}
    	}
    
    	$flags = array();
    	foreach ($crews as $v){//Если есть смена
    		if (isset($v['sm'])){
    			$flags[$v['ID']] = array();
    			//Генерируем флаги
    			//Есть смена - false, иначе если эту минуту надо замерять - true
    			for ($i = $start_time; $i <= $end_time; $i = $i + (60)){
    				if (!isset($flags[$v['ID']][$i])){
    					$flags[$v['ID']][$i] = true;
    				}
    				foreach ($v['sm'] as $v1){
    					if ($i >= $v1['begin'] && $i <= $v1['end']){
    						$flags[$v['ID']][$i] = false;
    					}
    				}
    			}
    		}
    		else{
    			//Если смены нет забъем массив труями.
    			for ($i = $start_time; $i <= $end_time; $i = $i + (60)){
    				if (!isset($flags[$v['ID']][$i])){
    					$flags[$v['ID']][$i] = true;
    				}
    			}
    		}
    	}
    
    
    	$xor_per = array();
    	foreach ($flags as $k => $v){
    		$l1 = 0;
    		$l2 = 0;
    		foreach ($flags[$k] as $k1 => $v1){
    			/**
    			 * На основе флагов генерируем ключи старта - конца замера.
    			 *
    			 * Если не установлен предыдущий флаг или предыдущий флаг - смена
    			 *  и текущий флаг - True, смены нет, ставим отметку начала периода
    			 */
    			if ((!isset($flags[$k][$k1 - 60]) || !$flags[$k][$k1 - 60]) && $v1){
    				$xor_per[$k][$l1]['begin'] = $k1;
    				$l1++;
    			}
    			/**
    			 * Если следующий флаг false или неустановлен и текущий true
    			 * ставим отметку конца смены.
    			 */
    			if ((!isset($flags[$k][$k1 + 60]) || !$flags[$k][$k1 + 60]) && $v1){
    				/**
    				 * Если время в итерации равно времени конца суток
    				 *  укажем концом периода замера конец суток
    				 *  иначе нахерато добавим минуту
    				 */
    				$xor_per[$k][$l2]['end'] = $k1 == $end_time ? $end_time : $k1 + 60;
    				$l2++;
    			}
    		}
    
    		#need вкурить что я тут написал
    		if (isset($xor_per[$k])){
    			$crews[$k]['ps'] = $xor_per[$k];
    		}else{
    			//Если целые сутки смена
    			unset($crews[$k]);
    		}
    		unset($flags[$k]);
    	}
    
    	return $crews;
    }

    "Вот жопой чую, можно было сделать проще"

    Rijen, 12 Февраля 2015

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