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

    В номинации:
    За время:
  2. 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)
  3. 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)
  4. 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)
  5. VisualBasic / Говнокод #4474

    −84

    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 Not CheckX Then Goto 1
        For i = 0 to USecX
    	Goto 2
    1:
        For i2 = 0 to USecY
    2:
      	...
    	If CheckX Then Goto 3
        Next
        If Not CheckX then Goto 4
    3:
        Next
    4:

    Как-то потребовалось выполнить немалый участок кода, но в двух разных случаях нужно было использовать два разных фора. В отдельную процедуру было очень неудобно выносить (пришлось бы передавать слишком много переменных), так что пришлось сделать этот... свичджампинг форов :)

    DragDen, 28 Октября 2010

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

    +163

    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
    LPBYTE OUTBUFF = NULL;
    	DWORD BUFFSIZE = 0;
    ...
    		int pgp_res = m_pgp.EncodeBuff2Buff(
    			( LPCVOID ) ( LPCTSTR ) post_data.c_str(),
    			( DWORD ) post_data.length(),
    			OUTBUFF,
    			BUFFSIZE,
    			( LPCTSTR ) query_mts_cfg().query_crypto_public_key().c_str() ); 
    ...
    			std::string s;
    			// мы будем рассматривать буфер как строку, а PGPEncode
    			// естественно не ограничивает буфер нулевым
    			// символом, поэтому строку из буфера надо
    			// ограничивать насильно
    			s = std::string( ( char* ) OUTBUFF );
    			s = s.substr( 0, BUFFSIZE );

    1) Проблема проявилась после 5 лет боевой эксплуатации.
    2) Все загодногожено было именно так. Т.е. автор понимал \0, сделал что-то, но все равно с ошибкой.

    bsivko, 28 Октября 2010

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

    +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
    if (empty($whatpage)) {  
             if (empty($catpage)) { $myFile='articles/main.dat';
             } else {
                      if (empty($subcatpage)) { $myFile="articles/$catpage/main.dat"; 
                      } else { $myFile="articles/$catpage/$subcatpage/main.dat";
                      }
             }
    } else { 
            if (empty($catpage)) { $myFile="articles/$whatpage.dat";
            } else {
                      if (empty($subcatpage)) { $myFile="articles/$catpage/$whatpage.dat"; 
                      } else { $myFile="articles/$catpage/$subcatpage/$whatpage.dat";
                      }
            }
    }
    $fh = @fopen($myFile, 'r'); 
    if (!$fh) { $myFile='articles/404.dat'; header('Status: 404'); header('HTTP/1.1 404 Not Found'); $fh = @fopen($myFile, 'r'); } 
    $data = fread($fh, filesize($myFile));

    кусок CMS с кучей бесполезной работы повторяющимся кодом и без знания об file_get_contents и file_exists

    porese, 27 Октября 2010

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

    −199

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    SELECT z.id, z.user_id, z.points_figure, MAX( z.date_practice )
    FROM (
       SELECT p . * , h.date_practice
       FROM practice_update p
       INNER JOIN practice_update_history h ON p.history_id = h.id
       WHERE p.is_confirmed = 1 OR p.is_updated = 1
    order by h.date_practice desc
    ) z
    GROUP BY 2

    и это при том что нужно взять последнее "z.points_figure" для юзверя. %)

    KiMindfreak, 25 Октября 2010

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

    +72

    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
    public static Document getDoc(CarPartsAd ad) {
            Document doc = new Document();
            doc.add(new Field("id", ad.getId().toString(), YES, NOT_ANALYZED));
            doc.add(new Field("mark", Long.toString(ad.getMarkId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("model", Long.toString(ad.getModelId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("frame", Long.toString(ad.getFrameId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("engine", Long.toString(ad.getEngineId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("type", Long.toString(ad.getTypeId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("front_rear", Long.toString(ad.getFrontRear()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("right_left", Long.toString(ad.getRightLeft()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("up_down", Long.toString(ad.getUpDown()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("contact", Long.toString(ad.getContactId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("town", Long.toString(ad.getTownId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("part_state", Long.toString(ad.getPartState()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("original_flag", Long.toString(ad.getOriginalFlag()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("price", Integer.toString(ad.getPriceRub()), Field.Store.YES, NOT_ANALYZED));
            doc.add(new Field("price_flag", (ad.getPriceRub() > 0 ? "0" : "1"), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("date_sort", Long.toString(ad.getSort()).substring(0, 9), Field.Store.YES, NOT_ANALYZED));
            doc.add(new Field("oem", format(ad.getOem()).replaceAll(" ", "").toLowerCase(), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("producer_code", format(ad.getProducerCode()).replaceAll(" ", "").toLowerCase(), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("uplift_rating", Integer.toString(ad.getUpliftRating()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("ads_source", Integer.toString(ad.getAdsSource()), Field.Store.NO, NOT_ANALYZED));
            return doc;
        }

    лучик ненависти авторам lucene за то, что заставляют писать такое :)

    zlob.jc, 20 Октября 2010

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

    −156

    1. 1
    2. 2
    3. 3
    if (ref($val) eq 'ARRAY') {
       # ...
    }

    seonull, 13 Октября 2010

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

    +143

    1. 1
    foreach (array(0, 1, 2, 3) as $i) { ... }

    Чем им for не угодил?

    dj_nudnyj, 12 Октября 2010

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