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

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private static final Color COLOR_GREEN = Color.GREEN;
      private static final Color COLOR_GREEN_DARK = JBoard.COLOR_GREEN;
      private static final Color COLOR_RED = Color.RED;
      private static final Color COLOR_RED_DARK = JBoard.COLOR_RED;
      private static final Color COLR_GRAY = Color.GRAY;

    упс, это я случайно )))) если вы это видите, то я это уже рефакторю ))))

    Lure Of Chaos, 29 Октября 2010

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $vars = array();
    if(isAccess($down['view'])) {
    	$url = '<a href="index.php?mod=load&amp;op=down&amp;id='.$id.'" target="_blank">Скачать</a>';
    } else {
    	$url = 'Файл недоступен гостям';
    }
    $vars['url'] = $url;

    Мартин, 29 Октября 2010

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

    +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
    <?php
    
    class Model_Crypt_FactoryCipher {
        
        const BlOWFISH = 'Model_Crypt_BlowFishCipher';
        
        
        /**
         * создает экземпляр cipher для указанного алгоритма
         * 
         * @return Model_Crypt_BlowFishCipher
         */
        public static function createCipher($crypt) {
            
            $cipher = new $crypt;
            
            if ($cipher instanceof Model_Crypt_BlowFishCipher) {
                return new Model_Crypt_BlowFishCipher ();
            } else {
                throw new Exception ( "This algoritm <$crypt> not implement yet" );
            }
        }
    
    }

    Гениальная фабрика. Используется один раз путем передачи константы "BlOWFISH" в метод createCipher()

    user654321, 29 Октября 2010

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

    +158

    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
    function rateWidth($rating){
    $rating = parseFloat($rating);
    switch ($rating){
    case 0.5: $width = "14px"; break;
    case 1.0: $width = "28px"; break;
    case 1.5: $width = "42px"; break;
    case 2.0: $width = "56px"; break;
    case 2.5: $width = "70px"; break;
    case 3.0: $width = "84px"; break;
    case 3.5: $width = "98px"; break;
    case 4.0: $width = "112px"; break;
    case 4.5: $width = "126px"; break;
    case 5.0: $width = "140px"; break;
    default:  $width =  "84px";
    }
    return $width;
    }
    
    
    function starSprite($rating){
    $rating = parseFloat($rating);
    switch ($rating){
    case 0.5: $pos = "-11px"; break;
    case 1.0: $pos = "-22px"; break;
    case 1.5: $pos = "-33px"; break;
    case 2.0: $pos = "-44px"; break;
    case 2.5: $pos = "-55px"; break;
    case 3.0: $pos = "-66px"; break;
    case 3.5: $pos = "-77px"; break;
    case 4.0: $pos = "-88px"; break;
    case 4.5: $pos = "-99px"; break;
    case 5.0: $pos = "-110px"; break;
    default:  $pos =  "-77px";
    }
    return $pos;
    }
    });

    Казалось бы — [:||||:]
    Но на него я попал с туториала для jquery.com

    Взято отсюда: http://eligeske.com/jquery/jquery-star-comment-rating/

    mrbig66, 27 Октября 2010

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

    +175

    1. 1
    std::vector<SOCKET*> _socket_vector; // В деструкторе удалить это хозяйство. Удалив это хозяйство, удалить этот комментарий

    Задокументированная утечка памяти)

    seregakabancheg, 26 Октября 2010

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

    +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
    function vstyle($col_num, $arr) {
    	$a = array();
    	$size	= sizeof($arr);
    
    	$row_num	= floor( $size / $col_num);
    	if(count($arr) <= 0) {
    		return $a;
    	}
    	for( $i = 0; $i < $col_num - 1; $i++) {
    		$a[$i] = array_slice( $arr, $i * $row_num, $row_num);
    	}
    		$a[$col_num - 1]	= array_slice( $arr, $row_num * ($col_num - 1), $size - $row_num * ($col_num - 1));
    /*	foreach($arr as $key=>$value) {
    
    		$num	= $i % $col_num;
    		$a[$num][$key]	= $value;
    		$i++;
    	}
    */
    	return $a;
    }

    array_chunk суровый и безпощадный

    DrFreez, 25 Октября 2010

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

    +163

    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
    <?php
    		// ...
    		////////////////
    		$_engines = unserialize(SENGINES);
    
    		if (0 == count($loading)) return -3;
    		$select=-1;
    		$delta=0;
    		$me=count($_engines);
    		$ms=count($args);
    
    		if (count($loading))
    		foreach ($loading as $k=>$v)
    		{
    			if (!isset($v['all'])) continue;
    			if (0==$v['all']) continue;
    			$tmp=0;
    			switch(1)
    			{
    				case $ms > 0:
    					foreach ($args as $engine)
    					{
    						if (isset($v[$engine]))
    						$tmp += (float) $v[$engine]/(float) $v['all'];
    					}
    					$tmp=$tmp/$ms;
    					break;
    
    				case $me > 0:
    					foreach ($_engines as $engine)
    					{
    						if (isset($v[$engine]))
    						$tmp += (float) $v[$engine]/(float) $v['all'];
    					}
    					$tmp=$tmp/$me;
    					break;
    
    			}
    
    			if ($tmp > $delta)	{$delta=$tmp;$select=$k;}
    		}
    		if (-1 == $select) return false;
    		////////////////
    		// ...

    Автор этого убеждает, что тут где-то производится сортировка.

    Кстати, это, #4071 и #4215 кодил один и тот же автор. Поэтому тут можно наблюдать десериализацию массива из константы, возвращение непонятных отрицательных статусов, очень информативное именование переменных, копипаст и самое классное — "if для лохов, я использую switch(1)"

    user654321, 20 Октября 2010

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

    +149

    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
    matrix[0][0]=3;
    matrix[0][1]=1;
    matrix[0][2]=1;
    matrix[0][3]=6;
    matrix[1][0]=0;
    matrix[1][1]=-2;
    matrix[1][2]=1;
    matrix[1][3]=-3;
    matrix[2][0]=2;
    matrix[2][1]=-1;
    matrix[2][2]=4;
    matrix[2][3]=-1;
    
    cout<<"MATRIX:"<<endl;
    for (i=0;i<4;i++) {
            cout<<matrix[0][i]<<" ";
               if (i==3) {
                   cout<<" "<<endl;
                       for (i=0;i<4;i++) {
                              cout<<matrix[1][i]<<" ";
                                if (i==3) {
                                    cout<<" "<<endl;
                                        for (i=0;i<4;i++) {
                                            cout<<matrix[2][i]<<" ";};};};};};

    Вывод двумерного массива :)

    petro2033, 20 Октября 2010

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

    +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
    // Функция изменяет поле счетчика у объекта
    // $table - таблица с изменяемыми данными
    // $where - условия для отсеивания значений
    // $coll - ячейка, которая содержит счетчик
    // $val - значение, которое нужно прибавить к исходному
    function CalcCounter($table, $where, $coll, $val) {
    	global $db;
    	$db->Select($table, $where);
    	if($db->NumRows()>0){
    		$val = $db->QueryResult[0][$coll] + $val;
    		$db->Update($table,"$coll='$val'",$where);
    	}
    }

    Из ядра одной русской CMS...

    Мартин, 15 Октября 2010

    Комментарии (6)
  11. ActionScript / Говнокод #4361

    −85

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    var lnk:String;
    public function TrulinkSwf(btn:*,link:String):void {
    	lnk=link;
    	btn.addEventListener(MouseEvent.ROLL_OVER, onOver);
                  btn.addEventListener(MouseEvent.ROLL_OUT, onOut);
    	btn.addEventListener(MouseEvent.CLICK, onClick);
                  ...
    }

    lnk = link меня просто убило
    добавление слушателя события на все подряд(btn:*) это очень интересно)))))))))

    flastar, 13 Октября 2010

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