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

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

    −120

    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
    var A:Boolean=false; // запускаем первый уровень
    var B:Number=0; // счотчик ударов
    var V:Boolean=true; // вызов меню
    //------------------------------------
    var STG1:stg1=new stg1();
    var KV:kvadrat=new kvadrat();
    var ST:stena=new stena();
    var VR:vorota=new vorota();
    //-----------------------------------
    var ME:menu=new menu;
    var KN1:knopko1=new knopko1(); // первый уровень
    var KN2:knopko2=new knopko2(); // не зделанно
    var KN3:knopko3=new knopko3(); // не зделанно

    kyzi007, 10 Марта 2012

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

    +152

    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
    <?php 
         // сначала получим строку с сервера с параметрами о клиенте 
    $user_agent = $_SERVER["HTTP_USER_AGENT"]; 
         // применим функцию, о этой функции здесь 
    $user_arr = detect_browser ($user_agent); 
         // $BName - это имя броузера (Explore) 
    $BName = $user_arr[0]; 
         // $BVersion - его модификация (6.0) 
    $BVersion = $user_arr[1]; 
         // $BPlatform - операционная система пользователя (Windows 98) 
    $BPlatform = $user_arr[2]; 
         // $Brobot - имя робота, если это робот. (Rambler) 
    $Brobot = $user_arr[3]; 
         // если зашёл робот - тормозим его 
     if ($BName == 'Robot'){ sleep (10);} 
         // следующую ссылку робот не увидит 
     if ($BName != "Robot") {echo"ссылка, которая роботу не видна";} 
    
         // если нет строки указывающий броузер, значит пришёл робот
    if ( $_SERVER["HTTP_USER_AGENT"] == '' ) {  
    print "Ваш броузер не определён, выключите сетевой экран, если это невозможно, то отправьте нам Ваш Ip адрес, для внесения в     базу, допущенных Ip."; 
    $BName = 'Robot'; 
    }
    
         // если нет некоторых заголовков, которые делают обычные
         // броузеры, значит пришёл робот
     if (
         $_SERVER['HTTP_ACCEPT']=='' or
         $_SERVER['HTTP_ACCEPT_ENCODING']=='' or
         $_SERVER['HTTP_ACCEPT_LANGUAGE']=='' or
         $_SERVER['HTTP_CONNECTION']==''
         ){ $BName = 'Robot';  }
    
         // если пользователь скачал более 300 страничек нашего сайта
         // и наша программа говорит , что это броузер
         // останавливаем программу
     if ( $hits> 300 and $BName != 'Robot' ){  $BName = 'Robot bad';    exit ; }
    
         // функция считывает файл и 
         // составляет регулярное выражение
     function base_for_search ($path){ 
         $path =  str_replace ("\r","",  trim (  implode ("", @file ($path))));
         return "~(" .  str_replace ("\n","|",  preg_quote ($path,"~")) . ")~i"; 
         }
         // строка, которую будем искать 
         // в $_SERVER["HTTP_USER_AGENT"]
    $search = base_for_search ($base_robot);
         // если нашли, значит хороший робот,
         // то даём скачивать хоть сколько страниц
     if (  preg_match ( $search, $path, $arr_r ) ) { 
         print "разрешённые поисковики";
         }
         // если не нашли, значит бэд поисковик, 
         // даём скачать только 50 страниц
     elseif ($hits> 50){ $BName = 'Robot bad'; exit ; } 
    ?>

    Определение поискового робота. Скрипт взят с сайта: http://omsk777.ru/robotbad.html

    good_web_master, 04 Марта 2012

    Комментарии (9)
  4. Куча / Говнокод #9600

    +129

    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
    <script src="file:///C:/Documents%20and%20Settings/Admin/Local%20Settings/Temp/Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
    <meta name='yandex-verification' content='6e63f46d5d2bd9a6' />
    ...
    <body text="BLACK">
    ...
    <div id="Layer7" style="position:absolute; left:1px; top:102px; width:504px; height:32px; z-index:8; visibility: visible;">
      <script menumaker>document.write('<scr'+'ipt src="menu/xaramenu.js">'+'</scr'+'ipt>');document.write('<scr'+'ipt src="menu/menu_.js">'+'</scr'+'ipt>');/*img src="menu.png" moduleid="ruschoolcz2 (Project)\menu_off.xws"*/</script>
    </div>
    ...
    <tr>
          <td><div align="center" class="style5 стиль56">Добро пожаловать на официальный сайт средней школы <br>
      с углубленным изучением иностранного языка <br>
    
      при Посольстве России в Чехии</div></td>
        </tr>
    ...
    <table width="100%"  border="0">
    
        <tr>
          <td width="11%"><div align="center"><img src="menu/schlogo.jpg" width="160" height="100"></div></td>
          <td width="100%" bgcolor="#115198">
    	  <applet code="CoolMove.class" width=100% height=100 align="left">
            <param name=SRC value="menu/school1.jpg">
            <param name=MOVE value=1>
          </applet>	  </td>
        </tr>
    
      </table>
    ...
    <div id="Layer6" style="position:absolute; left:-4px; top:664px; width:1005px; height:109px; z-index:6; background-color: #115198; layer-background-color: #115198; border: 1px none #000000;">
    ...
                <p align="center" class="стиль196">Узнай Россию лучше</p>

    http://www.ruschoolcz.com/
    Там полно разномастного говна, лулзы начинаются уже с кода главной страницы, дальше не смотрел ещё %)

    RaZeR, 04 Марта 2012

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

    +76

    1. 1
    <a href="#" onclick="return wrapContent(event,<%=HomeBean.getThumbnailUrl(f,request,response,bean.getOwner(),bean.getLoggedInUser(), true)%>,0,0,<%=HtmlUtils.xmlAttrVal(HtmlUtils.javaScriptConst(MiscUtils.divideLongWord(f.getName().trim(),30,"<wbr>",true), false)+", "+Formatter.formatSize(f.getSize()))%>,          '<%= (bean.getOwner().getPlan().hasFeaturePlayMusicFiles() && f.isMediaFile() && !recycleBin &&!((SharedFile) f).isPorn() ) ? new DownloadLink((SharedFile)f, bean.getLoggedInUser()).composeLink(true) : "" %>','<%=f.getExt()%>',<%=HomeBean.getPreviewWidth(f)%>)">

    вызов функции для показа превью картинки

    haluz, 23 Февраля 2012

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

    +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
    function page($page,$total,$link) {
    			$content='';
    			if ($total > 1)	{					
    				$s=($total-$page<6)?(5-$total+$page):0; 
    				for ($i=1;$i<5+$s;$i++) if($page-$i>0) $al[$i]='<a href="'.$link.'page='.($page-$i).'" class="pag_a">'.($page-$i).'</a>';
    				$s=($page<6)?(6-$page):0; 
    				for ($i=1;$i<5+$s;$i++) if($page+$i<=$total) $ar[$i]='<a href="'.$link.'page='.($page+$i).'" class="pag_a">'.($page+$i).'</a>';
    				unset($s);
    				
    				if ($page==1) $cl='pag_an'; else $cl='pag_a';
    				$pervpage='<a href="'.$link.'page='.($page-1).'" class="'.$cl.'"> &#8592; </a>';
    				if ($page>5 && $total>10) $pervpage.='<a href="'.$link.'page=1" class="pag_a">1</a>';
    				if ($page>6 && $total>10) $pervpage.='<a class="pag_an">...</a>';
    				if ($page<$total-5 && $total>10) $nextpage='<a class="pag_an">...</a>';
    				if ($page<$total-4 && $total>10) $nextpage.='<a href="'.$link.'page='.$total.'" class="pag_a">'.$total.'</a>';
    				
    				if ($page==$total) $cl='pag_an'; else $cl='pag_a';
    				$nextpage.='<a href="'.$link.'page='.($page+1).'" class="'.$cl.'" > &#8594; </a>';
    				
    				$content='<div class="page">';
    				$content.=$pervpage.$al[9].$al[8].$al[7].$al[6].$al[5].$al[4].$al[3].$al[2].$al[1].'<a class="pag_an">'.$page.'</a>'.$ar[1].$ar[2].$ar[3].$ar[4].$ar[5].$ar[6].$ar[7].$ar[8].$ar[9].$nextpage;
    				$content.='</div>';
    			}
    			return $content;
    		}

    good_web_master, 19 Февраля 2012

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

    +116

    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
    class MyClass
    {
      private List<MyObject> _collection = new List<MyObject>();
      public int SelectedObjectIndex { get; set; }
    	
      private void SelectionChanged( List<MyViewObject> selectedObjects )
      {
        bool bFound = false;
    
        foreach (MyViewObject item in objects)
        {
          if (!bFound)
          {
            for (int i = 0; i < _collection.Count; i++)
            {
              if (item.Tag != null && item.Tag is MyObject)
              {
                if (_collection[i] == item.Tag)
                {
                  this.SelectedObjectIndex = i;
                  bFound = true;
                  break;
                }
              }
            }
          }
          else
          {
            break;
          }
        }
    
        if (!bFound)
        {
          SelectedObjectIndex = -1;
        }
      }
    }

    Просто кладезь какой-то.
    Я переделал исходный код, чтобы было понятнее кто здесь кому и не нужно было разбираться со сложной структурой классов, которая используется в исходнике.
    Все имена классов вымышленные, на них не нужно обращать внимание - все лишь для демонстрации подхода к построению циклов и поиску объектов в коллекциях.

    ICELedyanoj, 17 Февраля 2012

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (strlen($arResult["AUTH"]["NEW_LOGIN"]) > 47)
    	$_POST["NEW_LOGIN"] = substr($arResult["AUTH"]["NEW_LOGIN"], 0, 47);
    
    if (strlen($arResult["AUTH"]["NEW_LOGIN"]) < 3)
    	$arResult["AUTH"]["NEW_LOGIN"] .= "_";
    
    if (strlen($arResult["AUTH"]["NEW_LOGIN"]) < 3)
    	$arResult["AUTH"]["NEW_LOGIN"] .= "_";

    битрикс, компонент sale.order.ajax

    ast, 17 Февраля 2012

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

    +152

    1. 1
    Пособие по тому, как не надо писать системы: http://file.qip.ru/file/fsBgpGob/index.html

    P.S.: за это заплатили товарищам 200 т.р.

    1_and_0, 15 Февраля 2012

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

    +159

    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
    void CXMLParser::Parse(std::map< std::pair<int, int>, int >& link)
    {
      _di_IXMLNode areaNode = MessageNode->ChildNodes->FindNode( WideString("area") );
      if( areaNode )
      {
        Area.reset( new CAreaPart( areaNode ) );
        IXMLNodeList* pointList = areaNode->ChildNodes;
        if( pointList )
        {
          for(int pointIndex=0; pointIndex<pointList->GetCount(); pointIndex++)
          {
            _di_IXMLNode pointNode = pointList->Get( pointIndex );
            int typePoint = -1;
            if( pointNode->GetNodeName() == WideString("measuringpoint") )
              typePoint = MEASURING;
            if( pointNode->GetNodeName() == WideString("accountpoint") )
              typePoint = ACCOUNT;
            if( pointNode->GetNodeName() == WideString("deliverypoint") )
              typePoint = DELIVERY;
            switch( typePoint )
            {
            case MEASURING:
            case ACCOUNT:
            case DELIVERY:
              {
                const int pointCode    = pointNode->GetAttribute( WideString("code") );
                const String pointName = pointNode->GetAttribute( WideString("name") );
                IXMLNodeList* channelList = pointNode->ChildNodes;
                if( channelList )
                {
                  for(int channelIndex=0; channelIndex<channelList->GetCount(); channelIndex++)
                  {
                    _di_IXMLNode channelNode = channelList->Get( channelIndex );
                    if( channelNode->GetNodeName() == WideString("measuringchannel") )
                    {
                      const int channelCode    = channelNode->GetAttribute( WideString("code") );
                      const String channelDesc = channelNode->GetAttribute( WideString("desc") );
                      IXMLNodeList* periodList = channelNode->ChildNodes;
                      if( periodList )
                      {
                        for(int periodIndex=0; periodIndex<periodList->GetCount(); periodIndex++)
                        {
                          _di_IXMLNode periodNode = periodList->Get( periodIndex );
                          if( periodNode )
                          {
                            String str = periodNode->GetAttribute( WideString("start") );
                            periodNode->GetAttribute( WideString("end") );
                            TDateTime time;
                            time = TDateTime( StrToInt( str.SubString( 1, 2 ) ), StrToInt( str.SubString( 3, 2 ) ), 0, 0 );
                            periodNode->GetAttribute( WideString("summer") );
                            time = IncMinute( time, 30 );
                            _di_IXMLNode valueNode = periodNode->ChildNodes->FindNode( WideString("value") );
                            if( valueNode )
                            {
                              const int status = valueNode->GetAttribute( WideString("status") );
                              const int value = StrToInt( valueNode->Text );
                              if( RTDBWrite )
                              {
                                map< pair<int, int>, int >::iterator i = link.find( make_pair( pointCode, channelCode ) );
                                if( i!=link.end() )
                                {
                                  (*RTDBWrite)( Date->DateInterval.first + time, (*i).second, value, status );
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      RTDBWrite->Flush();
    }

    Древний legacy-код на БорландЦэпэпэБыдлере, обнаруживаемый на текущей работе (почти госпредприятие), выглядит в основной своей массе примерно так. Новый код на C# чуть получше, но в целом тоже жуткое мракобесие.
    Сил больше нет работать с подобным, увольняюсь и ищу норм работу.

    invi, 15 Февраля 2012

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

    +148

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    vector<long long> fib;
    	for
    	(
    		long long a=1,b=1;
    		b=a+b,a=a+b,a>0&&b>0;
    		cout<<b<<" "<<a<<endl,
    		fib.push_back(b),
    		fib.push_back(a)
    	);

    Just outputting fibonacci numbers as pairs and storing them in a vector...

    wyand, 14 Февраля 2012

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