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

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
    
    if(true) {
    ...
    }
    else $blacklist_numbers_error="неверный тип файла";
    
    ?>

    разбираю на работе код ><

    DmitryDick, 22 Июля 2010

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

    +82

    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
    @ValidationExpression(value = "if (inn != null && !\"\".equals(inn)) {\n" +
                                  "char[] st = inn.toCharArray();\n" +
                                  "for(int i=0; i < st.length; i++) {\n" +
                                  "if (!Character.isDigit(st[i])) { return false; }\n" +
                                  "}\n" +
                                  "}" +
                                  "return true;", message = Messages.WRONG_INN_FORMAT)
    @Expression(value = "if (inn != null && !\"\".equals(inn)) {\n" +
                        "char[] st = inn.toCharArray();\n" +
                        "for(int i=0; i < st.length; i++) {\n" +
                        "if (!Character.isDigit(st[i])) { return false; }\n" +
                        "}\n" +
                        "}" +
                        "return true;", messageKey = Messages.WRONG_INN_FORMAT)
    public String getinn() {
    	return getPerson().getinn();
    }
    
    @Required(messageKey = Messages.REQUIRED)
    @DictEntityExists(dictId = MDictionaries.DICT_CURRENCY, message = Messages.NO_DICT_ENTITY)
    @Expression(value = "SystemCounter.DICTCURRENCY__RUR_CURRENCY_TYPE.equals(agentStatementCurrencyId) ? " +
                        "   (" +
                        "       SystemCounter.DICTCURRENCY__RUR_CURRENCY_TYPE.equals(currency_id) ? " +
                        "           true : " +
                        "           SystemCounter.DICTCONTRACTCLASS__CONTRACT_CLASS_XXX.equals(contract_class_id) ? " +
                        "               false : " +
                        "               is_currency_equivalent == 1" +
                        "   ) : (" +
                        "       SystemCounter.DICTCONTRACTCLASS__CONTRACT_CLASS_GENERIC.equals(contract_class_id) &&" +
                        "       is_currency_equivalent == 0 &&" +
                        "       agentStatementCurrencyId.equals(currency_id)" +
                        "   )", messageKey = Messages.CURRENCY_NOT_EQUIVALENT_WITH_AGENT_STATEMENT)
    public String getcurrency_id() {return getContract().getcurrency_id();}

    нет слов

    borka, 21 Июля 2010

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

    +144

    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
    f ($_SESSION["id"]) {
    	
    $v=$_GET['v'];
    $placiau=$_GET['placiau'];
    
    $kalba_mas = array("LT","EN","RU");
    $kategorija_mas = array("virtuves_baldai","vonios_baldai","ofiso_baldai","spintos");
    $kategorija_mas_ = array("Virtuvлs baldai","Vonios baldai","Ofiso baldai","Spintos");
    
    switch($v) {
    	case "admin":
    // много-много всякой писанины
    	break;
    	case "pagrindinis":
    // еще огромный кусок, брат предыдущего
    	break;
    	case "apie_mus":
    //.....
    	break;
    	case "produkcija":
    		$tpl->DisplayParsedTemplate("produkcija");
    	break;
    case "produkcija_m":
    	break;
    
    	case "produkcija_n":
    	break;
    
    	case "kontaktai":
    	break;
    case "uzsakymas":
    		if($_POST['uzsakymas_saugoti']) {
    			$db -> Query("UPDATE uzsakymas SET el_pastas = '$_POST[el_pastas]'");
    		}
    
    		$res = $db -> Query("SELECT * FROM uzsakymas");
    		list($el_pastas) = $db -> Fetch($res);
    
    		$tpl->AddVars("uzsakymas", array(
    			"ELPASTAS"=>$el_pastas
    			));
    		$tpl->ParseTemplate("uzsakymas", "a");
    
    		$tpl->DisplayParsedTemplate("uzsakymas");
    	break;
    
    	default: login($db, $tpl);
    
    } else  login($db, $tpl);

    оттуда же что http://govnokod.ru/3524 и http://govnokod.ru/3522
    логин по дефолту(47) и если сессия не начата(49) не то что убили, порвали. Четвертовали.
    молчу про свитч-логику и не проескейпенный скул

    Lure Of Chaos, 21 Июня 2010

    Комментарии (28)
  5. Куча / Говнокод #3512

    +127

    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
    <div id="lcomments"></div>
    <div id="temp" style="display:none"></div>
    <div class="load_more_posts">
    <div class="load_more_posts_inner">
      <strong>
       <a style="text-decoration: none" href="" 
         onclick="$('#temp').load('/ajax.php?module=lcomments&method=getComments&skip='+nextpage,false);
    	    $('#temp').ajaxComplete(function(event,request, settings)
    	      {
    	        getElementById('lcomments').innerHTML = getElementById('lcomments').innerHTML+getElementById('temp').innerHTML; 
    	        getElementById('temp').innerHTML='';
    	      }
    	   );
    	   nextpage=nextpage+20;
    	   return false"
       >
         Еще &rarr; 
       </a> 
       <img src="/templates/ajax-loader.gif" id="loader" style="visibility: hidden">
      </strong>
    </div>

    Взято с одного сайта. Кнопка «Еще» не работает в Интернет Эксплорере и в Опере 10.5x-10.60, хотя предыдущие версии Оперы, а также FF и Хром с этим справляются. Оказывается, код работает в IE и в Опере 10.5x, если заменить getElementById на document.getElementById либо убрать «display:none».

    inkanus-gray, 19 Июня 2010

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

    +998

    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
    #define TRACE_VAR	ATraceClass *mTrace
    #define TRACE_VAR_INIT	mTrace = ATraceClass::getInstance()
    
    class ATraceClass {
    public:
    	void log(int severity, const char *format, ...);
    	/* ... */
    }
    
    class ATraceUser {
    public:
    	ATraceUser::ATraceUser() {
    		TRACE_VAR_INIT;
    	}
            int SomeMethod1();
    	/* ... */
    	TRACE_VAR;
    }
    
    int ATraceUser::SomeMethod1()
    {
      /* ... */
      if (errorCondition)
      {
        return mTrace->log( ERR, "Something went terribly"\
                            "wrong when doing the operation %s\n",\
                            mOperation),-1;
      }
      /* ... */
    }

    в догонку к #3355 - это уже как бы пример стиля использования логгера егоным же автором.

    пришел ко мне как-то народ, показал нечто что я тут иллюстрирую в SomeMethod1() и спросил:
    (1) а на кой эти слеши? может нам и весь остальной код нужно ими разукрасить??
    (2) а как это void можно из int функции возвращать? и как это вообще работает? вроде в С/С++ такое нельзя....

    у меня до сих пор в голове не укладывается каким .... надо быть что бы такой код писать.

    Dummy00001, 31 Мая 2010

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

    +118

    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
    #region копирование в буфер
            private void copia_Click(object sender, EventArgs e)
            {
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < listBox1.Items.Count; i++)
                {
                    sb.Append(listBox1.Items[i].ToString());//Добавляем строчку из листБокса
                    sb.Append((char)13);//Перенос строки
                    sb.Append((char)10);//Перевод каретки
                }
                Clipboard.SetText(sb.ToString());//Отправляем всё в КлипБорд
            }
            #endregion
    
            #region Сохранить в файл
    
            private void save_Click(object sender, EventArgs e)
            {
                saveFileDialog1.DefaultExt = ".txt";
                saveFileDialog1.OverwritePrompt = true;
                saveFileDialog1.Title = "Координаты";
                saveFileDialog1.Filter = "Text Files|*.txt";
    
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);
                    StringBuilder sb = new StringBuilder();
                    for (int i = 0; i < listBox1.Items.Count; i++)
                    {
                        sb.Append(listBox1.Items[i].ToString());//Добавляем строчку из листБокса
                        sb.Append((char)13);//Перенос строки
                        sb.Append((char)10);//Перевод каретки
                    }
                    sw.WriteLine(sb);
                    sw.Flush();
                    sw.Close();
                }
            }
            #endregion

    L5D, 12 Мая 2010

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

    +171

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (isset($_POST['nick']))       {$nick = $_POST['nick'];}
    if (isset($_POST['pass']))       {$pass = $_POST['pass'];}
    
    
    if (isset($_GET['nick'])) {$nick = $_GET['nick'];}
    if (isset($_GET['pass'])) {$pass = $_GET['pass'];}

    один из видеоуроков Е.Попова=)

    Ice, 02 Мая 2010

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

    +172

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $pattern = "/\w{0,5}[хx]([хx\s\!@#\$%\^&*+-\|\/]{0,6})[уy]([уy\s\!@#\$%\^&*+-\|\/]{0,6})[ёiлeеюийя]\w{0,7}|\w{0,6}[пp]([пp\s\!@#\$%\^&*+-\|\/]{0,6})[iие]([iие\s\!@#\$%\^&*+-\|\/]{0,6})[3зс]([3зс\s\!@#\$%\^&*+-\|\/]{0,6})[дd]\w{0,10}|[сcs][уy]([уy\!@#\$%\^&*+-\|\/]{0,6})[4чkк]\w{1,3}|\w{0,4}[bб]([bб\s\!@#\$%\^&*+-\|\/]{0,6})[lл]([lл\s\!@#\$%\^&*+-\|\/]{0,6})[yя]\w{0,10}|\w{0,8}[её][bб][лске@eыиаa][наи@йвл]\w{0,8}|\w{0,4}[еe]([еe\s\!@#\$%\^&*+-\|\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|\/]{0,6})[uу]([uу\s\!@#\$%\^&*+-\|\/]{0,6})[н4ч]\w{0,4}|\w{0,4}[еeё]([еeё\s\!@#\$%\^&*+-\|\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|\/]{0,6})[нn]([нn\s\!@#\$%\^&*+-\|\/]{0,6})[уy]\w{0,4}|\w{0,4}[еe]([еe\s\!@#\$%\^&*+-\|\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|\/]{0,6})[оoаa@]([оoаa@\s\!@#\$%\^&*+-\|\/]{0,6})[тnнt]\w{0,4}|\w{0,10}[ё]([ё\!@#\$%\^&*+-\|\/]{0,6})[б]\w{0,6}|\w{0,4}[pп]([pп\s\!@#\$%\^&*+-\|\/]{0,6})[иeеi]([иeеi\s\!@#\$%\^&*+-\|\/]{0,6})[дd]([дd\s\!@#\$%\^&*+-\|\/]{0,6})[oоаa@еeиi]([oоаa@еeиi\s\!@#\$%\^&*+-\|\/]{0,6})[рr]\w{0,12}/i";
    
                if(preg_match($pattern, $text)) {
                    $reason = 'мат';
                    unset ($text);
                    $text = '<b>пользователь был забанен, причина: ';
                    $text .= $reason;
                    $text .= '</b>';
                    $user_ban = true;
                }

    Вот такая защита от мата стоит в чате одной браузерной игрушки.

    WinnerWolf, 23 Апреля 2010

    Комментарии (28)
  10. Java / Говнокод #3058

    +64.8

    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
    public static Boolean parseBoolean(Object x)
         {
              if(x instanceof Integer)
                   return (Integer) x != 0;
    
              if(x == null)
                   return false;
    
              if(x instanceof Boolean)
                   return (Boolean) x;
    
              if(x instanceof Double)
                   return Math.abs((Double) x) < 0.00001;
    
              return !("" + x).equals("");
         }

    Веселый кусочег из эмулятора сервера Lineage II (Сборка от L2f).

    VirtualVoid, 20 Апреля 2010

    Комментарии (28)
  11. Pascal / Говнокод #2981

    +92

    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
    {Обнуление сумм}
    
        sum1:=0;
        sum2:=0;
        sum3:=0;
        sum4:=0;
        sum5:=0;
        sum6:=0;
        sum7:=0.001;
        sum8:=0.001;
        giga1:=0;
        giga2:=0;
        sum9:=0;
        sum10:=0;
        sum11:=0;
        sum12:=0;
        sum13:=0;
        sum14:=0;
        sum15:=0;
        sum16:=0;
    
        for i:=0 to cnt do begin
        sum1:=sum1+TNP[i]; sum2:=sum2+TNO[i]; //Подсчёт "Прямого" и "Обратного"
        sum3:=sum3+TNP[i]-TNO[i]; //Подсчёт "Израсходовано воды"
        sum4:=sum4+PAR[i]; //Подсчёт "Израсходовано пара"
        sum5:=sum5+Tpar[i]; //Подсчёт "температуры пара"
        sum6:=sum6+Ppar[i]; //Подсчёт "давления пара"
        sum7:=sum7+Tprm[i]; //Подсчёт "температуры прямого"
        sum8:=sum8+Tobr[i]; //Подсчёт "температуры обратного"
        sum10:=sum10+Qvoz[i]; //Подсчёт "Израсходовано воздуха"
        sum11:=sum11+Tvoz[i]; //Подсчёт "температуры воздуха"
        sum12:=sum12+Pvoz[i]; //Подсчёт "давление воздуха"
        sum13:=sum13+Qhzv[i]; //Подсчёт "Израсходовано хоз. воды"
        sum14:=sum14+Qthv[i]; //Подсчёт "Израсходовано тех. воды"
        sum15:=sum15+Thzv[i]; //Подсчёт "Температуры. хоз воды"
        sum16:=sum16+Tthv[i]; //Подсчёт "Температуры. тех воды"
    
     // giga1:= (sum1 * 1000) * (660 * 0.000001) /  (sum7/sum8) ; // расчёт гигакалорий для отопления
     // giga1:= (sum1 * 1000) * (660 * 0.000001); // расчёт гигакалорий для отопления
    
        giga1:= (sum3 / 3.04); // расчёт гигакалорий для отопления
    
        giga2:= (sum4 * 1000) * (660 * 0.000001); // расчёт гигакалорий для пара
        end;    end;    end;

    ka3ax, 10 Апреля 2010

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