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

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

    +169

    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
    //$idtov получается из БД
    if ($idtov==101008116)
            $book["name"]="Костюм мушкетера";
    elseif ($idtov==101009116)
            $book["name"]="Костюм ниндзя";
    elseif ($idtov==101010116)
            $book["name"]="Костюм пирата";
    elseif ($idtov==2200003)
            $book["name"]="Amazonas Слинг-шарф для новорожденных";
    elseif ($idtov==100011672)
            $book["name"]="Санки Метелица универсальные с п/м сиденьем и ручкой";
    elseif ($idtov==90600)
            $book["name"]="Woody Кукольный домик Ева - маленький";

    С сайта tetyamotya.ru

    Skiv, 27 Сентября 2011

    Комментарии (24)
  3. C# / Говнокод #7830

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    private void button5_Click(object sender, EventArgs e)
            {
                Application.Exit();
            }

    -.\\

    TERAB1T, 10 Сентября 2011

    Комментарии (24)
  4. Lua / Говнокод #7584

    −86

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ( (world:isSelectionMode() or (world:getEffectSizeIcoLua() == 1) or
       (world:getEffectSizeIcoLua() == -1)) and (world:getEffectSizeIcoLua() ~= 2) ) 
    then
    ...
    end

    Скрипт на Lua, доставшийся в наследство. Несмотря на непонятное условие, вся грусть в том, что все значения скрипт получает с движка, и что это за значения нет ни одного комента... '-(

    MAGnit, 18 Августа 2011

    Комментарии (24)
  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 / Говнокод #7439

    +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
    39. 39
    // File: /controllers/register.php
    
    //......
    $sql = 'INSERT INTO `users` SET `ID`=NULL, `login`="'.mysql_real_escape_string(substr($_POST['login'], 0, 12)).'", `pass`= blah blah blah....';
    //......
    
    
    
    // File: /templates/default/index.tpl
    /*
    //... 
    <td><div>Hello, <b>{LOGIN}</b></div><!---- blah blah blah ---><div>Server time: <?php echo getCurrentTime();?></div>
    //
    */
    
    
    //File: /index.php
    
    //......
    $sql = 'SELECT * FROM `users` WHERE `id`=........';
    $data = SYS::$db->getDataRow($sql);
    if(sizeof($data)>0) {
          showTeplate(TEMPLATE_NAME, 'index', $data);
    }
    //......
    
    //Function showTeplate();
    
    function showTeplate($tpl_name, $file_name, $data) {
           $template_code = file_get_contents(TPL_PATH.'/'.$tpl_name.'/'.$file_name.'.'.TPL_EXT);
           foreach($data as $name=>$value) {
                  $template_code = str_replace('{'.strtoupper($name).'}', $value, $template_code);
           }
           
          //......
           eval($template_code);
          //......
    
    }

    Внимание, загадка! Найти уязвимость.

    jokz, 04 Августа 2011

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    day = new Date(); 
    hour = day.getHours(); 
    if (hour>=0 && hour<9) greeting = "Ночной NON-STOP"; 
    else { if (hour>=10 && hour<12) greeting = "По вашим заявкам"; 
    else { if (hour>=12 && hour<13) greeting = "Базар о интересном"; 
    else { if (hour>=13 && hour>=17) greeting = "Дневной NON-STOP";
    else { if (hour>=17 && hour<=20) greeting = "Расслабляющая музыка";
    else { if (hour>=20 && hour<=24) greeting = "Музыка 90-х"; }}}}  
    document.write(greeting);

    Автор кода явно не знал, что в js можно использовать else if. Выражение hour>=12 && hour<13 можно было упростить, написав hour == 12. И фигурную скобку в конце закрыть забыл.
    (Отсюда: intobservatory.ru/forum/index.php/topic,4141.0.html)

    high-five, 16 Июля 2011

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

    +164

    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
    if (check($user))			
    {
    				$names='(';
    				$values="values(";
    				foreach ($user as $key => $value )
    				{
    					$names=$names.$key.',';
    					$values=$values."'".$value."',";
    				}
    				$names[strlen($names)-1]=')';
    				$values[strlen($values)-1]=')';
    			}
    		$sql="insert into users ".$names.' '.$values;

    друг говорит, что это говнокод, но это же не правда ?

    syntheticcharms, 16 Июля 2011

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

    +150

    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
    function keySave($key, $url)
    	{
    		$db = 'i_keys';
    		$this->keyDelete($key, $url);
    		$insert['key'] = $key;
    		$insert['url'] = $url;
    		$this->db->insert($db, $insert);
    	}
    
    	function keyDelete($key, $url)
    	{
    		$db = 'i_keys';
    		$this->db->where('url', $url);
    		$this->db->where('key', $key);
    		$this->db->delete($db);
    	}

    Можно ли так делать для предотвращения полных дублей в базе? Чем это не очень хорошо?

    increazon, 10 Июля 2011

    Комментарии (24)
  10. C# / Говнокод #7206

    +963

    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
    public void прорисовка_точек()
            {
                for (int i = 0; i < лист_точек.Count; i++)
                {
                    //Data0
                    if (((лист_точек[i] as ArrayList)[4] as ArrayList).Count != 0)
                    {
                        уровни определение_уровня = new уровни(s, (лист_точек[i] as ArrayList)[3].ToString(), 4);
                        if (определение_уровня.рисуем == true)
                        {
                            string type = (лист_точек[i] as ArrayList)[1].ToString();                        
                            for (int k = 0; k < ((лист_точек[i] as ArrayList)[4] as ArrayList).Count; k++)
                            {
                                PointF point = (((лист_точек[i] as ArrayList)[4] as ArrayList)[k] as List<PointF>)[0];
                                преобразование_координат координаты_старые = new преобразование_координат(point.X, point.Y, коэф_старый.max_x, коэф_старый.max_y, коэф_старый.K_x, коэф_старый.K_y);
                                point.X = (float)((новый.max_x_new - координаты_старые.xn) * новый.K_x_new * s);
                                point.Y = (float)((новый.max_y_new - координаты_старые.yn) * новый.K_y_new * s);
                                Rectangle rect = new Rectangle(Convert.ToInt32(point.X),Convert.ToInt32(point.Y),1,1);
                                if (проверка(this.Width, this.Height, point.X, point.Y) == true)
                                {
                                    Кисти_точек точки = new Кисти_точек(type);
                                    G.DrawImage(точки.bitm, point.X, point.Y, точки.bitm.Width, точки.bitm.Height);
                                }
                               прорисовка_надписей_точек(point, ((лист_точек[i] as ArrayList)[2].ToString()));
                            }
                        }
                    }
                }
            }

    Взято отсюда http://www.cyberforum.ru/csharp-net/thread330291-page3.html

    vvs, 08 Июля 2011

    Комментарии (24)
  11. Perl / Говнокод #7193

    −161

    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
    sub hex_to_string
    {
        my ($res, $str, $i) = ("", shift, 0);
        $str =~ tr/A-Z/a-z/;
        while ($i < length($str))
        {
    	my $m = ord(substr($str, $i++, 1));
    	my $n = ord(substr($str, $i++, 1));
    	if ($m >= 48 && $m <= 57)
    	{
    	    $m -= 48;
    	}    
    	if ($m >= 97 && $m <= 102)
    	{
    	    $m = 10 + $m - 97;
    	}    
    	if ($n >= 48 && $n <= 57)
    	{
    	    $n -= 48;
    	}
    	if ($n >= 97 && $n <= 102)
    	{
    	    $n = 10 + $n - 97;
    	}
    	$res .= chr($m * 16 + $n);
        }
        
        $res = join("\n", split(/\r\n/, $res));
        return $res;
    }

    Печально, что силу регулярок недооценивают.
    sub hex_to_string($)
    {
    my $input_hex_data = shift;
    my $result = $input_hex_data;
    $result =~ s/([a-fA-F0-9][a-fA-F0-9])/chr(hex($1))/eg;
    return $result;
    }

    antoha_by, 07 Июля 2011

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