1. Objective C / Говнокод #7563

    −116

    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
    BOOL levelClosed = YES;
    if (indexPath.row == 0)
    {
    	levelClosed = NO;
    }
    else
    {
    	iPadLevelDescriptor *prevLvlDescription = [levels objectAtIndex:(indexPath.row-1)];
    	scoresObject *prevLevelScoresObject = [ScoresTableUIViewController loadScoresForLevel:[[prevLvlDescription properties] objectForKey:kiPadLevelName]];
    	if (prevLevelScoresObject != nil)
    		levelClosed = ![prevLevelScoresObject completed];
    }
    levelClosed = NO;
    [cell setClosed:lvlClosed];

    Закрыт ли уровень?..

    1101_debian, 17 Августа 2011

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

    +137

    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
    switch (SelItemZoom.Text)
                {
                    case "25%":
                        CRVDoc.Zoom(25);
                        break;
    
                    case "50%":
                        CRVDoc.Zoom(50);
                        break;
    
                    case "75%":
                        CRVDoc.Zoom(75);
                        break;
    
                    case "100%":
                        CRVDoc.Zoom(100);
                        break;
    
                    case "125%":
                        CRVDoc.Zoom(125);
                        break;
    
                    case "150%":
                        CRVDoc.Zoom(150);
                        break;
    
                    case "175%":
                        CRVDoc.Zoom(175);
                        break;
    
                    case "200%":
                        CRVDoc.Zoom(200);
                        break;
                }

    Человек перед этим наверно прочитал про switch.

    Ky7m, 17 Августа 2011

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

    +173

    1. 1
    define('style', '<link rel="stylesheet" type="text/css" href="/style.css">');

    такого еще не встречал... o_O

    Sulik78, 17 Августа 2011

    Комментарии (10)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. Куча / Говнокод #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)