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

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (aNew=='true'){
    	  path = './page.html?show='+ashow+'&avail='+aavail+'&page='+page+'&size='+asize+'&order='+aorder+'&ordera='+aordera+'&refresh='+arefresh+'&letter='+aletter+'&sortcount='+asortcount+'&search=off&new=true';
    }else{
    	  path = './page.html?show='+ashow+'&avail='+aavail+'&page='+page+'&size='+asize+'&order='+aorder+'&ordera='+aordera+'&refresh='+arefresh+'&letter='+aletter+'&sortcount='+asortcount+'&search=off&new=false';
    }

    разница в &new=true/false
    Код из большого серьезного продакшен проекта.

    kuku, 09 Февраля 2011

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

    +165

    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
    if (seismicDriver()->has3DSeismic() && !seismicDriver()->has2DSeismic() ) {
        enableSeismicTab(0, true);
        enableSeismicTab(1, false);
      }
      else if (!seismicDriver()->has3DSeismic() && seismicDriver()->has2DSeismic() ) {
        enableSeismicTab(0, false);
        enableSeismicTab(1, true);
      }
      else if (seismicDriver()->has3DSeismic() && seismicDriver()->has2DSeismic() ) {
        enableSeismicTab(0, true);
        enableSeismicTab(1, true);
      }
      else if (!seismicDriver()->has3DSeismic() && !seismicDriver()->has2DSeismic() ) {
        enableSeismicTab(0, false);
        enableSeismicTab(1, false);
      }

    Этим своим первым постом предворяю серию говнокода, который пишет мой коллега, китаец, имеющий PhD по физике.

    В этом сниппете советую обратить внимание на два компонента в условиях if и на расстановку true и false в соответствии с ними.

    kitaec, 08 Февраля 2011

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

    +165

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if ($arResult["CurrentStep"] == 1)
    	include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/step1.php");
    elseif ($arResult["CurrentStep"] == 2)
    	include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/step2.php");
    elseif ($arResult["CurrentStep"] == 3)
    	include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/step3.php");
    elseif ($arResult["CurrentStep"] == 4)
    	include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/step4.php");
    elseif ($arResult["CurrentStep"] == 5)
    	include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/step5.php");
    elseif ($arResult["CurrentStep"] >= 6)
    	include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/step6.php");

    Из проекта на битриксе.

    hdkeeper, 08 Февраля 2011

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

    +165

    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
    <?php
    if (isset($_POST["butonchik"])) {
            if (isset($_POST["selectik"])) {
     
                    $query2 = "SELECT * FROM $tbVoting WHERE parent = ".$_POST["selectik"];
                    $result2 = @mysql_query($query2) or callError();
     
                    while($line2 = mysql_fetch_array($result2, MYSQL_ASSOC)) {
                            $id2 = $line2["id"];
                            $text2 = $line2["text"];
     
                            echo $text2;
                            echo $id2;                      
                    }
            }
            else {
                    echo "Выберите вопрос(ы)";
            }
    }
    ?>

    qbasic, 04 Февраля 2011

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    static string GetRequestParam(string request)
            {
                string result="";
                int i = 4;
                for(char c=request[i];c!=' ';c=request[++i])
                    result+=c;
                return result;
            }

    Говногость, 03 Февраля 2011

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    QTime time;
        time.start();
    
        for (int i = 0; i < 100; ) {
            if (time.elapsed() > 10) {
                time.start();
                ++i;
            }
        }

    Организация задержки.

    jalil, 31 Января 2011

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

    +165

    1. 1
    2. 2
    //$viewPath = explode(DIRECTORY_SEPARATOR, $this->_helper->viewRenderer->getViewScript());
     $viewPath = explode("/", $this->_helper->viewRenderer->getViewScript());

    Первое закомментировали, второе вставили. Отличный рефакторинг!

    anycolor, 28 Января 2011

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

    +165

    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 func()
    {
    	$func = array(
    		"*4164-4622-1270" => "Core::Exchange->dest1",
    		"*8273-7121-7643" => "Core::Exchange->dest2",
    		"*8710-4879-0216" => "Core::Exchange->dest3",
    		"*5566-0506-6230" => "Core::Exchange->dest4",
    		"*0635-1830-1345" => "Core::Exchange->dest5",
                           .....
    	);
    	return $func;
    }
    	
    function eF($id) 
    {
    	if ($id == 1) return "*4164-4622-1270";
    	if ($id == 2) return "*8273-7121-7643";
    	if ($id == 3) return "*8710-4879-0216";
    	if ($id == 4) return "*5566-0506-6230";
               if ($id == 5) return "*0635-1830-1345";
    	if ($id == 6) return "*3265-0565-4871";
                .....
    }

    Диспетчер функций с встроенной защитой от кулхацкеров. (dest1...dest5 - сохранены оригинальные имена)

    tyler, 28 Января 2011

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

    +165

    1. 1
    require_once(Config::Get('path.root.engine').'/lib/internal/ConfigSimple/Config.class.php');

    LiveStreet 0.4 — Подключение класса с использованием статического метода этого же класса.

    rvsob, 28 Января 2011

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

    +165

    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
    $phone = $DATABASE->select('select * from b_sale_order_props_value where ORDER_PROPS_ID=3');
            foreach($phone as $k) {
                $ph=str_replace("-", "", $k['VALUE']);
                $ph1=str_replace("(", "", $ph);
                $ph2=str_replace(")", "", $ph1);
                $ph3=str_replace(" ", "", $ph2);
                $ph4=str_replace("+7", "8", $ph3);
                $ph5=str_replace("/", ",", $ph4);
                $ph6=str_replace(";", ",", $ph5);
                $ph7=str_replace(".", "", $ph6);
                $ph8=str_replace("\\", ",", $ph7);
                $onephone = explode(",", $ph8);
                if(strlen($onephone[0])==11) {
                    if(substr($onephone[0],0,2) == "89") {
                        $arResult[$i]['PHONE']=$onephone[0];
                        $arResult[$i]['SITENAME'] ="xxxxx";
                        $i++;
                        if(!empty($onephone[1]))
                            if(substr($onephone[1],0,2) == "89"){
                                $arResult[$i]['PHONE']=$onephone[1];
                                $arResult[$i]['SITENAME'] ="xxxxx";
                                $i++;
                            }
                    }
                }
            }

    Да, не самый свежак, но..зацените, в отличии от простого копипаста строки тут кое-что новое! Во-первых не используются массивы в str_replace и во-вторых кадлый раз новая переменная) Я поржал)

    greevex, 27 Января 2011

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