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

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

    −94

    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
    private function getYouTubeVideoIdFromURL (url:String):String {
    	if (URLUtil.isHttpsURL(url)||URLUtil.isHttpURL(url)) {
    		var startIndex:int = url.indexOf("v=")+2;
    		var endIndex:int = url.indexOf("&");
    		if (endIndex>startIndex) {
    			url = url.slice(startIndex, endIndex); 
    		}
    		else {
    			url = url.slice(startIndex);
    		}
    	}
    	return url;
    }

    Целый отдел над этой функцией работал.

    wvxvw, 01 Октября 2014

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

    +155

    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
    if($numr>1){
        $i=0;
        while($row=mysql_fetch_object($q)){++$i;
    
            if($num==$i){
                return $row->id;
                break;
            }
        }
    }elseif($numr==1){
        $row=mysql_fetch_object($q);
        return $row->id;
    }else{
        return 0;
    }

    А на случай, если return() не сработает, у нас есть break

    Khvorostin, 16 Сентября 2014

    Комментарии (7)
  4. PHP / Говнокод #16691

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $data = $DB->...
    reset($data);
    while (list(, $row) = each($data)) {
        // do somethig with $row
    }

    Я не понимаю, почему просто не использовать foreach?!

    matasar, 13 Сентября 2014

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    $a = null;
    var_dump($a, $a[0], $a); // NULL, NULL, NULL // what the fuck?
    $a[0] = null;
    var_dump($a); // array(0 => NULL)

    "PHP и type juggling", том третий. При этом на первый вызов $a[0] не ругается, будто при приведении NULL к пустому массиву в нем появляется нулевой элемент.

    Fike, 09 Сентября 2014

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

    +156

    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
    Generator.prototype.update = function () {
    	var	t = this.timer++,
    		d = this.delay,
    		s = this.samples,
    		m = this.minDistance,
    		w = this.width,
    		h = this.height,
    		g = this.global,
    		c = this.cid,
    		ttl = this.ttl--,
    		l = s.length,
    		rand = Math.random,
    		floor = Math.floor,
    		x,
    		y,
    		r,
    		i,
    		j,
    		d2,
    		n;
    
    	if (ttl > 0) {
    		while (t > d) {
    			r = s[floor(rand() * l)].copy();
    
    			if (m) {
    				i = 1000;
    				while (i--) {
    					x = rand() * w - w * 0.5;
    					y = rand() * h - h * 0.5;
    
    					for (j in this) if (j instanceof Entity) {
    						n = this[i];
    						d2 = (x - n.x) * (x - n.x) + (y - n.y) * (y - n.y);
    
    						if (d2 * d2 > m) {
    							i = 0;
    						}
    					}
    				}
    			} else {
    				x = rand() * w - w * 0.5;
    				y = rand() * h - h * 0.5;
    			}
    
    			r.x = x;
    			r.y = y;
    
    			if (!g) {
    				r.parent = this;
    			}
    
    			this[c] = r;
    			this.cid = c += 1;
    			this.time = t -= d;
    		}
    	} else {
    		delete this.update;
    	}
    };

    асм-диалект яваскрипта

    prezident, 04 Сентября 2014

    Комментарии (7)
  7. Си / Говнокод #16624

    +134

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if ( cg_g2MarksAllModels == NULL )
    	{
    		cg_g2MarksAllModels = Cvar_Get( "cg_g2MarksAllModels", "0", 0 );
    	}
    
    	if (cg_g2MarksAllModels == NULL
    		|| !cg_g2MarksAllModels->integer )
    	{
    		firstModelOnly = qtrue;
    	}

    Cvar_Get возвращает ненулевой указатель в любом случае.

    gost, 31 Августа 2014

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

    +57

    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
    bool Processor::check_holes(int x, int y){
        int scale = 1000000;
        if((x > (die_size-mem_size)/2*scale && x < (die_size-mem_size)*scale) && (y > (die_size-mem_size)/2*scale && y < (die_size-mem_size)*scale)){
            return false;
        }
        if((x > (die_size-mem_size)*scale) && (y > (die_size-mem_size)/2*scale && y < (die_size-mem_size)*scale)){
            if(((int)(x - (die_size-mem_size)*scale) % 400) > 340 && ((int)(y - (die_size-mem_size)/2*scale) % 400) > 340){
                if((x - (die_size-mem_size)*scale) < 2400){
                    return true;
                }
            }
        }
        if((x < (die_size-mem_size)/2*scale) && (y > (die_size-mem_size)/2*scale && y < (die_size-mem_size)*scale)){
            if(((int)((die_size-mem_size)/2*scale - x) % 400) > 340 && ((int)(y - (die_size-mem_size)/2*scale) % 400) > 340){
                if(((die_size-mem_size)/2*scale - x) < 2400){
                    return true;
                }
            }
        }
        if((y > (die_size-mem_size)*scale) && (x > (die_size-mem_size)/2*scale && x < (die_size-mem_size)*scale)){
            if(((int)(y - (die_size-mem_size)*scale) % 400) > 340 && ((int)(x - (die_size-mem_size)/2*scale) % 400) > 340){
                if((y - (die_size-mem_size)*scale) < 2400){
                    return true;
                }   
            }
        }
        if((y < (die_size-mem_size)/2*scale) && (x > (die_size-mem_size)/2*scale && x < (die_size-mem_size)*scale)){
            if(((int)((die_size-mem_size)/2*scale - y) % 400) > 340 && ((int)(x - (die_size-mem_size)/2*scale) % 400) > 340){
                if(((die_size-mem_size)/2*scale - y) < 2400){
                    return true;
                }
            }
        }
        return false;
    }

    Проверяем дырки

    Abbath, 13 Августа 2014

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    try{
                $this->em->flush();
            }catch(DBALException $ex){
              //  \Doctrine\Common\Util\Debug::dump($user);
                $result='notOK';
            }
         
          echo json_encode(array('status'=>$result));
          die();

    код человека которого хотели но не сделали тим лидом, на что он обиделся и ушел

    moledet2, 05 Августа 2014

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    foreach($_GET as $v01=>$v02)
        $$v01 = $v02;
    foreach($_POST as $v01=>$v02)
        $$v01 = $v02;

    register_globals для слабаков!

    sslobodyanyuk, 05 Августа 2014

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

    +155

    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
    <?php
    // Staring straight up into the sky ... oh my my
    error_reporting(-1);
    mb_internal_encoding('utf-8');
    
    
    /* Возвращает соответствующую числу форму слова: 1 рубль, 2 рубля, 5 рублей */
    function inclineWord($number, $word1, $word2, $word5) {
    	if ($number == 0){
    		return;
    	}
    	$foo = substr(strrev($number), 0);
    	if ($foo == 1) {
    		return $word1;
    	} elseif ($foo >= 5){
    		return $word5;
    	} else {
    		return $word2;
    	}
    }
    /* 
        Преобразует числа от 0 до 999 в текст. Параметр $isFemale равен нулю, 
        если мы считаем число для мужского рода (один рубль), 
        и 1 — для женского (одна тысяча) 
    */
    function smallNumberToText($number, $isFemale) {
    	if ($number == 0){
    		return;
    	}
        $spelling = array(
            0   =>  'ноль',                                     10  =>  'десять',       100 =>  'сто',
            1   =>  'один',         11  =>  'одиннадцать',      20  =>  'двадцать',     200 =>  'двести',
            2   =>  'два',          12  =>  'двенадцать',       30  =>  'тридцать',     300 =>  'триста',
            3   =>  'три',          13  =>  'тринадцать',       40  =>  'сорок',        400 =>  'четыреста',
            4   =>  'четыре',       14  =>  'четырнадцать',     50  =>  'пятьдесят',    500 =>  'пятьсот',
            5   =>  'пять',         15  =>  'пятнадцать',       60  =>  'шестьдесят',   600 =>  'шестьсот',
            6   =>  'шесть',        16  =>  'шестнадцать',      70  =>  'семьдесят',    700 =>  'семьсот',    
            7   =>  'семь',         17  =>  'семнадцать',       80  =>  'восемьдесят',   800 =>  'восемьсот',
            8   =>  'восемь',       18  =>  'восемнадцать',     90  =>  'девяносто',     900 =>  'девятьсот',
            9   =>  'девять',       19  =>  'девятнадцать'    
        );
        $femaleSpelling = array(
            1   =>  'одна',        2   =>  'две'
        );
        
    }
    
    function numberToText($number) {
    	$arr = str_split(strrev($number), 1);
    	$end = $arr[2].$arr[1].$arr[0];
    	$middle = $arr[5].$arr[4].$arr[3];
    	$head = $arr[8].$arr[7].$arr[6];
    	$e = 1;
    	$m = 2;
    	$h = 3;
    	return $head;
    	$rub = inclineWord($ed, "рубль", "рубля", "рублей");
    	$tys = inclineWord($k, "тысяча", "тысячи", "тысяч");
    	$mil = inclineWord($kk, "миллион", "миллиона", "миллионов");
    }
    
    /* Вызовем функцию несколько раз */
    $amount1 = mt_rand(1,99999999);
    $text1 = numberToText($amount1);
    echo "На вашем счету {$text1}\n";
    /* 
    $amount2 = mt_rand(1,99999999);
    $text2 = numberToText($amount2);
    
    echo "На вашем счету {$text2}\n";
    
    $amount3 = mt_rand(1,99999999);
    $text3 = numberToText($amount3);
    
    echo "На вашем счету {$text3}\n";
    
    $amount4 = mt_rand(1,99999999);
    $text4 = numberToText($amount4);
    
    echo "На вашем счету {$text4}\n";
    
    */

    mocha, 05 Августа 2014

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