1. C++ / Говнокод #7560

    +169

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    void some_func(ptrdiff_t value)
    {
      register double cos_v=cos(static_cast<double>(value));
      ptrdiff_t pt=static_cast<ptrdiff_t>(cos_v);
      {... working with pt ...}
    }

    Более того есть функция матричного умножения, элементами этих матриц являются ptrdiff_t'ы (там уже нет перевода в double при вычислениях).
    Мне одному кажется что автор наркоман?

    J0hnny, 17 Августа 2011

    Комментарии (18)
  2. Python / Говнокод #7559

    −88

    1. 1
    2. 2
    exec "a" * 300000000 + " = 'FUCKING_LONG_VARIABLE'" # Создание переменной с длиннннным именем
    exec "print " + ("a" * 300000000) # Выведет 'FUCKING_LONG_VARIABLE'

    Это был эксперимент (не повторять дома!). Хотелось узнать количество значащих символов в имени переменной, оказалось что все:).
    Первая строка кода ужирает около 270 МБ памяти.

    Niceblack, 17 Августа 2011

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

    +160

    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
    /**
    	 * Заменяет все вхождения короткого тега <param/> на длиную версию <param></param>
    	 * Заменяет все вхождения короткого тега <embed/> на длиную версию <embed></embed>
    	 * 
    	 */
    	protected function FlashParamParser($sText) {	
    		if (preg_match_all("@(<\s*param\s*name\s*=\s*\".*\"\s*value\s*=\s*\".*\")\s*/?\s*>(?!</param>)@Ui",$sText,$aMatch)) {				
    			foreach ($aMatch[1] as $key => $str) {
    				$str_new=$str.'></param>';				
    				$sText=str_replace($aMatch[0][$key],$str_new,$sText);				
    			}	
    		}
    		if (preg_match_all("@(<\s*embed\s*.*)\s*/?\s*>(?!</embed>)@Ui",$sText,$aMatch)) {				
    			foreach ($aMatch[1] as $key => $str) {
    				$str_new=$str.'></embed>';				
    				$sText=str_replace($aMatch[0][$key],$str_new,$sText);				
    			}	
    		}	
    		/**
    		 * Удаляем все <param name="wmode" value="*"></param>		 
    		 */
    		if (preg_match_all("@(<param\s.*name=\"wmode\".*>\s*</param>)@Ui",$sText,$aMatch)) {
    			foreach ($aMatch[1] as $key => $str) {
    				$sText=str_replace($aMatch[0][$key],'',$sText);
    			}
    		}
    		/**
    		 * А теперь после <object> добавляем <param name="wmode" value="opaque"></param>
    		 * Решение не фантан, но главное работает :)
    		 */
    		if (preg_match_all("@(<object\s.*>)@Ui",$sText,$aMatch)) {
    			foreach ($aMatch[1] as $key => $str) {
    				$sText=str_replace($aMatch[0][$key],$aMatch[0][$key].'<param name="wmode" value="opaque"></param>',$sText);
    			}
    		}
    		
    		return $sText;
    	}

    DrFreez, 16 Августа 2011

    Комментарии (9)
  4. Python / Говнокод #7557

    −83

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    def get(a='',x=-1):
        b,c,d,e,f=a.split('\n'),[],[],0,0
        for i in range(len(b)):
            if i==0: c+=[i]; e+=len(b[i])+1; f+=len(b[i]); d+=[f]
            elif i==len(b)-1: f+=len(b[i]); d+=[f]; c+=[e]
            else: f+=len(b[i])+1; c+=[e]; d+=[f]; e+=len(b[i])+1
        for i in range(len(c)):
            if range(c[i], d[i]+1).count(x): return i

    Это код чувака, который хочет получить индекс строки по индексу символа.
    >>> get('a\nb', 0) # 0 - позиция символа "а"
    0
    >>> get('a\nb', 1) # 1 - позиция символа "\n"
    0
    >>> get('a\nb', 2) # 2 - позиция символа "b" (уже вторая строка)
    1

    Простой эквивалент кода:
    GetNewlineCount = lambda s, p: s.count('\n', 0, p)

    Niceblack, 16 Августа 2011

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $darray = explode('.', $_SERVER['HTTP_HOST']);
    $narray = array_reverse($darray);
    array_pop($narray);
    $domain = implode('.',array_reverse($narray));
    $this->view->domain=$domain;

    Индусы такие индусы...

    kest, 16 Августа 2011

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

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $IIIIIIIIIIII = array('http://yourlink.com/' ,'http://yourlink.com//' ,'http://yourlink.com//' ,'http://yourlink.com//' ,'http://yourlink.com/' ); 
    $IIIIIIIIIIIl = array('your link' ,'your link' ,'your link' ,'your link' ,'your link'); 
    srand(time()); 
    $IIIIIIIIIII1 = (rand()%5); 
    echo ("<a href = \"$IIIIIIIIIIII[$IIIIIIIIIII1]\">$IIIIIIIIIIIl[$IIIIIIIIIII1]</a>");

    Особо умиляет переменная $IIIIIIIIIIIl...

    VanbOK, 16 Августа 2011

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Программист С++ с опытом:
    Но самое брутальное и бессердечное из того, что мне приходилось видеть
    в коммерческих продуктах, было полноценным динамическим полиморфизмом,
    реализованном на макросах и механизме исключений. Так уж получилось,
    что автор проекта знал обо всех возможностях языка C++, кроме виртуальных функций.
    вместо вызова виртуальной функции кидалось специальное исключение, а последовательность
    блоков catch выступала в роли динамического диспетчеризатора. Вот это было реально круто —
    если бы был конкурс работ на самую нестандартную реализацию какого-нибудь стандартного механизма,
    то я бы отдал этой работе первое место, хоть она и абсолютно несовместима с реальной жизнью.

    CPPGovno, 16 Августа 2011

    Комментарии (29)
  8. PHP / Говнокод #7553

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ((!IsForum() && $url[0] != 'underwater-video' && $end_element !='diveclan' && $end_element !='partners') || ($url[0] != 'underwater-photo' && sizeof($url)==1))
            if ($url[0]!='atlas-uw-photo' && !empty($title) && $end_element!='diving-guide' && $end_element!='atlas-wrecks' && $end_element!='atlas-deep'  && $end_element!='atlas-caves' && $end_element!='sea-inhabitants')
                    if ($APPLICATION->GetCurPage()!='/underwater-video/mygallery.php' && $APPLICATION->GetCurPage()!='/underwater-video/add.php' && $APPLICATION->GetCurPage()!='/atlas_update/travel_add/index.php')
                            if ($url[0] != 'diving-media' && $url[0] != 'underwater-photo')
                                    $APPLICATION->SetTitle($title);

    Унифицированный костыль тайтлов на битриксе. Это лежит во вкл области, которая цепояется после </html>

    atarix12, 16 Августа 2011

    Комментарии (52)
  9. ActionScript / Говнокод #7552

    −117

    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
    // Здесь примерно еще примерно 50 условий
    
    if (event.keyCode == 188)
     	{
       my_answer[pos_text] = "Б";
       pos_text = pos_text + 1;
    
     	}
    
     	if (event.keyCode == 190)
     	{
       my_answer[pos_text] = "Ю";
       pos_text = pos_text + 1;
    
     	}

    Маленький кусочек говнокода..

    KirAmp, 16 Августа 2011

    Комментарии (13)
  10. PHP / Говнокод #7551

    +162

    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
    //отбор произвольного совета
    $query = "SELECT * FROM sovet_faraon";
    $result = mysql_query($query) or die ("Не могу выбрать данные из таблицы");
    
    $number = 0;
    while ($row = mysql_fetch_array($result)) {
        $number++;
    }
    
    //выбираем число случайным образом
    $uniq_id = rand(1, $number++);
    
    
    //выбираем этот совет по номеру
    $query = "select * from sovet_faraon where (id_sovet='$uniq_id')";
    $result = mysql_query($query) or die("Не могу выбрать значение из базы советов");
    
    while ($row = mysql_fetch_array($result)) {
        $id_sovet = $row["id_sovet"];
        $small_sovet = $row["small_sovet"];
        $big_sovet = $row["big_sovet"];
    }
    
    echo "<a href=\"list_sovet.php\" class=\"ssilka2\">" . $small_sovet . "</a>";

    Отбор произвольного совета мля... Один совет такому "программисту" дать хочется: "убейся ап стену!!!" xD
    Шучу конечно, сам наверное лет в 5 так бы написал xD

    code_master, 16 Августа 2011

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