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

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $sql = mysql_query("SELECT * FROM `pages` WHERE `url` = '".$_GET['doid']."'") or die("Query error");
    			if ($r = mysql_fetch_array($sql)) {
    			
    				if($r['public']=='1') mysql_query("UPDATE `pages` SET `public` = '0' WHERE `url` = '".$_GET['doid']."'");
    				else mysql_query("UPDATE `pages` SET `public` = '1' WHERE `url` = '".$_GET['doid']."'");
    			
    			}

    ZOTTIG, 03 Декабря 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    $ptn = "^[а-яА-Я]{1,}$";
    $str = "т";
    ereg($ptn, $str, $matches);
    print_r($matches);

    Почему не видит русской маленькой буквы "т". Это из-зи юникода? ПХП - говно значит

    increazon, 30 Ноября 2010

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

    +171

    1. 1
    echo eval($myrow_res['text']);

    Выкакыш.

    Uchkuma, 26 Ноября 2010

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

    +110

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    protected static string CreateSubIndexName(string prefix, int index) {
                return String.Format(CultureInfo.InvariantCulture, "{0}[{1}]", prefix, index);
            }
    
            protected static string CreateSubIndexName(string prefix, string index) {
                return String.Format(CultureInfo.InvariantCulture, "{0}[{1}]", prefix, index);
            }

    Из исходников ASP.NET MVC 2. Класс DefaultModelBinder.
    Рядышком друг за другом два метода с совершенно одинаковым содержимым.
    Наш девиз: дублирование кода, умещающегося в одну строчку, за дублирование не считается.

    Pauchok-Anaynckiy, 24 Ноября 2010

    Комментарии (11)
  6. Си / Говнокод #4703

    +136

    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
    int CheckError( TStatusMessage* ctrl )
    {
    	if( !ctrl ) return 1;
    
    	if(ctrl->request>40) return 1;
    	if(ctrl->prm.radiation!=ctrl->prm.aradiation) return 1;
    	if(ctrl->prm.pulse!=ctrl->prm.apulse) return 1;
    	if(ctrl->prm.frequency!=ctrl->prm.afrequency)
    	{
    		if( (ctrl->prm.frequency&2) != (ctrl->prm.afrequency&2) )
    		{
    			return 1;		
    		}
    	} 
    	if(ctrl->prm.autotune==ctrl->prm.aautotune) return 1;
    	if(ctrl->prm.antenna==ctrl->prm.aantenna) return 1;
    	if(ctrl->prm.blanking!=ctrl->prm.ablanking) return 1;
    	if(ctrl->prm.vob!=ctrl->prm.avob) return 1;
    
    	return 0;
    }

    Проверка на наличие ошибки.

    absolut, 22 Ноября 2010

    Комментарии (11)
  7. Си / Говнокод #4684

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    FILE *ConfigFile = NULL;
    char *workdir = NULL;
    workdir=getenv("APP_WORKDIR");
    if ((NULL!=workdir) && (NULL != (ConfigFile = fopen(strcat(workdir,"appname/config.xml"), "r"))))
    {
       fclose(ConfigFile);
       workdir[strlen(workdir)-10] = '\0';
       setenv("APP_RESOURCE_DIR", workdir , 1);
    }

    вот так нужно указывать крутой библиотеке, любимому и незаменимому детищу нашего R&D, читать файл из другой директории.

    и вот такое было закопипащено в 4 приложений....

    Dummy00001, 19 Ноября 2010

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    for( int b = 0; b < cntblocket; ++b )
    {
        delete msrLst[b]->record;
        delete msrLst[b]->record;
    }

    Сразу вспоминается: "- А зачем у вас тут два одинаковых jump'а стоять? - А вдруг один не сработает?"

    Видимо, совсем не выспался программист ;)

    ftptrash, 13 Ноября 2010

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

    +95

    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
    program z1;
    
     function func (x: real): real;
     const e = 0.000000000000001; {15 знаков после запятой}
     var f: real; {переменая для расчета двойного факториала}
         i, k: integer; {счетчик проходов, i-общий, k-частный}
         d: real; {добавляемая дельта}
         y: real; {переменная искомого значения}
     begin
      y := 1.0;
      i := 1;
      repeat
        f := 1;                 {----------}
        k := i;                 {--расчет--}
        while (k >= 2) do begin {-двойного-}
          f := f * k;           {факториала}
          k := k - 2;           {----------}
        end;                    {----------}
        
        d := 1;                 {---------------------}
        for k := 1 to i do      {считаем степень числа}
          d := d * x;           {---------------------}
        
        d := d / f;             {-----------------находим d-----------------}
        if (d < e) then break;  {проверяем ее на попадание в разрядную сетку}
        
        y := y + d;
        i := i + 1;
      until (false);
      func := y;
     end;
     
    var x: real;
     
    begin
      write ('Введите x: ');
      readln (x);
      writeln ('y = ', func (x):3:15);
    end.

    maksim_ovcharik, 09 Ноября 2010

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

    +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
    22. 22
    23. 23
    24. 24
    25. 25
    public static int[] filtrs;
            public string filtrStr;
            public double ProizvDO;
            public double ProizvOT;
            public double SprosDO;
            public double SprosOT;
            public double StXranDO;
            public double StXranOT;
            public double WtrafDO;
            public double WtrafOT;
    
             public double OtDo
            {
                get
                {
                    return ProizvOT;
                    return ProizvDO;
                    return SprosOT;
                    return SprosDO;
                    return StXranOT;
                    return StXranDO;
                    return WtrafOT;
                    return WtrafDO;
                }
             }

    Да, это лаба какого-то студента. Но тем не менее смешно.
    P.S. Взято с www.cyberforum.ru

    psina-from-ua, 30 Октября 2010

    Комментарии (11)
  11. JavaScript / Говнокод #4476

    +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
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    /* Fade-In Page script ©2008 John Davenport Scheuer
       As first seen in http://www.dynamicdrive.com/forums/
       username:jscheuer1 - This credit must remain for legal use.
       */
     
    fadeInPage.speed=15; //Set speed of transition for non-IE, lower numbers are faster, 20 is the minimum safe value
    fadeInPage.bg='#000'; //Set backgroud style (color or color and image) of transition division for non-IE, should match page background or the predominant color of the page
     
    ///////////////// Stop Editing /////////////////
     
    function fadeInPage(){
    var el=document.getElementById("fadeDiv");
    el.style[fadeInPage.prprt] = el.style[fadeInPage.prprt] == ''? 1 : el.style[fadeInPage.prprt];
    if (el.style[fadeInPage.prprt] > 0){
    el.style[fadeInPage.prprt] = el.style[fadeInPage.prprt] - 0.02;
    setTimeout("fadeInPage()", fadeInPage.speed);
    }
    else {
    el.style[fadeInPage.prprt] = 0;
    if(document.removeChild)
    el.parentNode.removeChild(el);
    }
    }
    if(document.documentElement&&document.documentElement.style){
    fadeInPage.d=document.documentElement, fadeInPage.t=function(o){return typeof fadeInPage.d.style[o]=='string'};
    fadeInPage.prprt=fadeInPage.t('opacity')? 'opacity' : fadeInPage.t('MozOpacity')? 'MozOpacity' : fadeInPage.t('KhtmlOpacity')? 'KhtmlOpacity' : null;
    }
    fadeInPage.set=function(){
    var prop=fadeInPage.prprt=='opacity'? 'opacity' : fadeInPage.prprt=='MozOpacity'? '-moz-opacity' : '-khtml-opacity';
    document.write('\n<style type="text/css">\n#fadeDiv {\nheight:'+window.innerHeight+'px;display:block;position:fixed;'+
    'z-index:10000;top:0;left:0;background:'+fadeInPage.bg+';width:100%;\n'+ prop +':1;\n}\n<\/style>\n');
    }
    if(window.addEventListener&&fadeInPage.prprt){
    fadeInPage.set();
    window.addEventListener('load', fadeInPage, false);
    }

    Зашел я на сайт родного биллинга. Не работает. Смотрю - остался слой от fade-in (нахрена он в биллинге).
    Открыл исходники сайта и увидел там ЭТО.
    Отступы авторские. Очень радует "document.write('\n<style" в цикле.

    m1el, 29 Октября 2010

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