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

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

    +146

    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
    function hsl2rgb($h, $s, $v) {
        if($s == 0) { //если насыщенность цвета равно 0, то мы имеем дело с оттенком серого код которого и вычисляем умножая на 255
            $r = $g = $b = $v * 255;
        } else {
            $var_H = $h * 6;
            $var_i = floor( $var_H );
            $var_1 = $v * ( 1 - $s );
            $var_2 = $v * ( 1 - $s * ( $var_H - $var_i ) );
            $var_3 = $v * ( 1 - $s * (1 - ( $var_H - $var_i ) ) );
    
            if      ($var_i == 0) { $var_R = $v     ; $var_G = $var_3  ; $var_B = $var_1 ; }
            elseif  ($var_i == 1) { $var_R = $var_2 ; $var_G = $v      ; $var_B = $var_1 ; }
            elseif  ($var_i == 2) { $var_R = $var_1 ; $var_G = $v      ; $var_B = $var_3 ; }
            elseif  ($var_i == 3) { $var_R = $var_1 ; $var_G = $var_2  ; $var_B = $v     ; }
            elseif  ($var_i == 4) { $var_R = $var_3 ; $var_G = $var_1  ; $var_B = $v     ; }
            else                  { $var_R = $v     ; $var_G = $var_1  ; $var_B = $var_2 ; }
    
            $r = $var_R * 255;
            $g = $var_G * 255;
            $b = $var_B * 255;
        }
        return array($r, $g, $b);
    }

    Lure Of Chaos, 14 Мая 2011

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

    +147

    1. 1
    2. 2
    3. 3
    static int getSign(final int num) {
        return (num < 0) ? -1 : (num > 0) ? 1 : 0;
      }

    лисапед, бо есть Math.signum()

    Lure Of Chaos, 14 Мая 2011

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($result === false) {
                $result = $translated;
            }
    
            if ($result === false){
                $result = $translated;
            }

    Magento. Так работают переводы.

    vsushkov, 28 Апреля 2011

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

    +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
    if(empty($value)) {
         $empty_colls++;
         $value = $value = str_replace(" ", "", $value);
    } else {
         $haystack=mb_convert_encoding($format_value, 'UTF-8', mb_detect_encoding($format_value));
         $needle=mb_convert_encoding('грн', "windows-1251", "UTF-8");
         if (strpos($haystack, $needle)) $currency='грн';
              else {
              $needle=mb_convert_encoding('€', "windows-1251", "UTF-8");
              if (strpos($haystack, $needle)) $currency= '€';
                   else {
                   $needle=mb_convert_encoding('$USD', "windows-1251", "UTF-8");
                   if (strpos($haystack, $needle)) $currency='USD';
                   }
             }
         $value = mb_convert_encoding($value,"UTF-8", mb_detect_encoding($value));
         ...
    }

    Даже не знаю с чего больше смеяться/плакать (исходники в UTF-8) :-)

    Lowezar, 27 Апреля 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (is_array($custom_data)) {
    	foreach ($custom_data as $key => $val) {
    		$session[$key] = $val;
    	}
    }

    хитрый план

    DrFreez, 23 Апреля 2011

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

    +120

    1. 1
    (class|struct|union)[\s\r\n(\w+)]*?(\w*)[\s\r\n]*?(:[\s\r\n(virtual)]*?\w+[\s\r\n]*?\w+(<\s*\w*\s*>)?([\s\r\n]*?,[\s\r\n(virtual)]*?\w+[\s\r\n]*?\w+(<\s*\w*\s*>)?)*?)?[\s\r\n]*?{[^{}]*(((?'open'{)[^{}]*)+((?'close-open'})[^{}]*)+)*(?(Open)(?!))[^{}]*}\s*?;

    Выделение из исходников именованных с++ классов. Глаза боятся, но вроде работает.

    m_gerz, 22 Апреля 2011

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

    +121

    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
    public class IterateSQL
    {
    	private int _start = 0;
    	private int _end = 0;
    	private int number = 0;
    	private string TOP_100_PERCENT = "100 percent ";
    	private string SELECT_FROM = " SELECT*FROM (";
    	private string SELECT_TOP_I = "SELECT TOP $I * FROM(";
    	private string SELECT_TOP_F = "SELECT TOP $F * FROM(";
    	private string JOINTURE = @" WHERE maTable.id NOT IN (SELECT maTable.id FROM(";
    	private string CLOSE = ") maTable)";
    	private string SELECT_COUNT = "SELECT COUNT(*) FROM ( XYZ ) maTable";
    	private string _sql;
    	private string _where;
    	private string _parameter = string.Empty;
    	private List<string> _tempParameterList = new List<string>();
    	private Dictionary<string, object> _finalParameterList = new Dictionary<string, object>();
    
    	public IterateSQL(string sql, string where, string parameter)
    	{
    		_sql = sql;
    		_where = where;
    		_parameter = parameter;
    	}
    	
    	public string TransformAndReturnSQL(int start, int end)
    	{
    		_start = start;
    		_end = end;
    		if (_parameter == null)
    			_parameter = string.Empty;
    		string[] split = Utils.Splitter(_parameter);
    		number = split.Length;
    		StringBuilder sb = new StringBuilder(" XYZ ");
    		StringBuilder st = new StringBuilder();
    
    		for (int i = 0; i < number; i++)
    		{
    			if (split[i].ToString() != string.Empty)
    				sb.Insert(0, SELECT_FROM);
    		}
    
    		for (int i = 0; i < number; i++)
    		{
    			if (split[i].ToString() != string.Empty)
    			{
    				sb.Insert(sb.Length, _where);
    				sb.Replace("@param", split[i].ToString());
    			}
    		}
    		sb.Replace("XYZ", _sql);
    		st.Append(sb.ToString());
    		sb.Insert(0, SELECT_TOP_I);
    		sb.Append(JOINTURE);
    		sb.Append(SELECT_TOP_F);
    		sb.Append(st.ToString());
    		sb.Append(CLOSE);
    		sb.Replace("$I", _start.ToString());
    		sb.Replace("$F", _end.ToString());
    
    		return sb.ToString();
    	}
    }

    Вот так надо запросы строить!

    _Ru55_, 22 Апреля 2011

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    {{if $remove_email eq "Y"}}
    <script type="text/javascript">
    	if( confirm("Are you sure you want to delete email \"{{$email|escape}}\"?") )
    		document.location.href="http://{{$host}}/email.html?action=remove_email&confirm=Y";
    </script>
    {{/if}}

    Смарти феерия продолжается. Теперь редиректы с яваскриптом

    govno, 19 Апреля 2011

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

    +139

    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
    class secure
    {
        public function clear_get($_GET)
        {
            foreach ($_GET as $inx => $var)
            {
                if (!empty($_GET[$inx]))
                {
                    $_GET[$inx] = trim($_GET[$inx]);
                    $_GET[$inx] = mysql_real_escape_string($_GET[$inx]);
                    $_GET[$inx] = htmlspecialchars($_GET[$inx]);
               
                }
                else
                    $_GET[$inx] =NULL;
            
            }
        }
    
           public function clear_post($_POST)
        {
            foreach ($_POST as $inx => $var)
            {
                if (!empty($_GET[$inx]))
                {
                    $_POST[$inx] = trim($_POST[$inx]);
                    $_POST[$inx] = mysql_real_escape_string($_POST[$inx]);
    
                }
                else
                    $_POST[$inx] =NULL;
    
            }
        }
    }

    Опытный прогер. мля

    Vasiliy, 19 Апреля 2011

    Комментарии (8)
  11. Куча / Говнокод #6351

    +146

    1. 1
    <br style="font-size: 19.5px; line-height: 28.5px;" />

    "Шоколадная" верстка

    SunnyMagadan, 14 Апреля 2011

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