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

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

    +145

    1. 1
    2. 2
    3. 3
    #ifndef UTF8_ONLY
        I HATE YOU!!!!
    #endif

    Говногость, 12 Января 2011

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

    +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
    function calls() {                                                                                                                                                                  
            //document.frm_param.form.value="client_calls";
            //document.frm_param.title_.value="Работа с клиентом | Звонки";
            s_url="$bill_cgi$?form=calls"+
                    "&date_begin=01.01.1990"+
                    "&date_end=01.01.2010"+
                    "&call_type=100"+
                    "&phone="+
                    "&to_phone="+
                    "&client=$client$"+
                    "&town_code="+
                    "&direction="+
                    "&zone="+
                    "&order_by=date_"+
                    "&order_by2="+
                    "&group_by="+
                    "&calls_recalc="+
                    "&calls_print=1";
    
            window.top.location=s_url;
    
    }

    (c) Руслан Залата

    SanityIO, 12 Января 2011

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

    +160

    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
    <?php
    if ($res) {
        $i=0;
        while ( $arr = $res->fetchRow() )
        {   
            $id = $arr['id'];
            $userid = $arr['userid'];
            $alias = $arr['alias'];
            $startcity = $arr['startcity'];
            $endcity = $arr['endcity'];
            $godate = $arr['godate'];
            $gohour = $arr['gohour'];
            $gorecset = mapSetToWeekdays($arr['gorecset']);
            $recdays = implode(" ", $gorecset);     
        
            $godate = ereg_replace("Mon", $l['mo'], $godate);
            $godate = ereg_replace("Tue", $l['tu'], $godate);
            $godate = ereg_replace("Wed", $l['we'], $godate);
            $godate = ereg_replace("Thu", $l['th'], $godate);
            $godate = ereg_replace("Fri", $l['fr'], $godate);
            $godate = ereg_replace("Sat", $l['sa'], $godate);
            $godate = ereg_replace("Sun", $l['su'], $godate);
        
            $rides[$i] = array('id' => $id,
                                'userid' => $userid,
                                'alias' => $alias,
                                'startcity' => $startcity,
                                'endcity' => $endcity,
                                'gohour' => $gohour,
                                'godate' => $godate,
                                'recdays' => $recdays,                   
                                );
            $i++;
        }
        
        $SMARTY->assign("rides", $rides);
    }

    Этот чудесный пример говнокода написал один финн, с которым мне приходится работать вместе.
    Как видно, он, имея 4 года опыта разработки на PHP, так и не знает про extract(), compact(), а также про возможность использовать массивы в качестве аргументов str_replace. Хотя, в данном случае можно было просто написать $rides[] = $arr;

    rostislav, 12 Января 2011

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

    +104

    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 class BuildActivity     
     {
            private class RequestLimit : ICloneable
            {
                 //несколько свойств
            }
    
            private class Request : IDisposable
            {
               // оберка вокруг stream      
            }
    
            private class Response
            {
                // несколько методов
            }
    
            private class Document        
            {
                // 4 простых свойства
            }
    
           //примерно с десяток методов   
    }

    еще один пример навороченных структур на ровном месте. В достаточно простом классе имеем 4 (sic!) private вложенных класса - которые ниоткуда никем больше не используются. Все потому что человек не умел дизайнить классы так что бы не приходилось временные данные передавать из одной процедуры в другую. Страшно представить что он будет писать когда узнает про Tupels :)

    eval_2009, 11 Января 2011

    Комментарии (3)
  6. VisualBasic / Говнокод #5200

    −103

    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
    Dim tmpStr As String = ""
    
            If E >= 100 And E <= 109 Then tmpStr = "Жёлтый"
            If E >= 110 And E <= 119 Then tmpStr = "Оранжевый"
            If E >= 120 And E <= 129 Then tmpStr = "Красный"
            If E >= 130 And E <= 139 Then tmpStr = "Синий/Фиолетовый"
            If E >= 140 And E <= 149 Then tmpStr = "Зелёный"
            If E >= 150 And E <= 159 Then tmpStr = "Коричневый/Чёрный"
            If E >= 160 And E <= 199 Then tmpStr = "Другие"
    
            If E >= 200 And E <= 209 Then tmpStr = "Сорбат"
            If E >= 210 And E <= 219 Then tmpStr = "Бензоат"
            If E >= 220 And E <= 229 Then tmpStr = "Сульфит"
            If E >= 230 And E <= 239 Then tmpStr = "Фенол/Формиат(метаноат)"
            If E >= 240 And E <= 259 Then tmpStr = "Нитрат"
            If E >= 260 And E <= 269 Then tmpStr = "Ацетат (этаноат)"
            If E >= 270 And E <= 279 Then tmpStr = "Лактат"
            If E >= 280 And E <= 289 Then tmpStr = "Пропиноат (пропаноат)"
            If E >= 290 And E <= 299 Then tmpStr = "Другие"
    
            If E >= 300 And E <= 305 Then tmpStr = "Сорбат"
            If E >= 306 And E <= 309 Then tmpStr = "Бензоат"
            If E >= 310 And E <= 319 Then tmpStr = "Сульфит"
            If E >= 320 And E <= 329 Then tmpStr = "Фенол/Формиат(метаноат)"
            If E >= 330 And E <= 339 Then tmpStr = "Нитрат"
            If E >= 340 And E <= 349 Then tmpStr = "Ацетат (этаноат)"
            If E >= 350 And E <= 359 Then tmpStr = "Лактат"
            If E >= 360 And E <= 369 Then tmpStr = "Пропиноат (пропаноат)"
            If E >= 370 And E <= 399 Then tmpStr = "Другие"
    
            If E >= 400 And E <= 409 Then tmpStr = "Альгинат"
            If E >= 410 And E <= 419 Then tmpStr = "Камедь"
            If E >= 420 And E <= 429 Then tmpStr = "Природное вещество"
            If E >= 430 And E <= 439 Then tmpStr = "Соединение полиоксиэтилена"
            If E >= 440 And E <= 449 Then tmpStr = "Природный эмульгатор"
            If E >= 450 And E <= 459 Then tmpStr = "Фосфат"
            If E >= 460 And E <= 469 Then tmpStr = "Соединение целлюлозы"
            If E >= 470 And E <= 489 Then tmpStr = "Соединение жирных кислот"
            If E >= 490 And E <= 499 Then tmpStr = "Другие"
    
            If E >= 500 And E <= 509 Then tmpStr = "Неорганическая кислота/основание"
            If E >= 510 And E <= 519 Then tmpStr = "Хлорид/Сульфат"
            If E >= 520 And E <= 529 Then tmpStr = "Сульфат/Гидроксид"
            If E >= 530 And E <= 549 Then tmpStr = "Соединение щелочных металлов"
            If E >= 550 And E <= 559 Then tmpStr = "Силикат"
            If E >= 570 And E <= 579 Then tmpStr = "Стеарат/Глюконат"
            If E >= 580 And E <= 599 Then tmpStr = "Другие"
    
            If E >= 620 And E <= 629 Then tmpStr = "Глютамат"
            If E >= 630 And E <= 639 Then tmpStr = "Инозинат"
            If E >= 640 And E <= 649 Then tmpStr = "Другие"
    
            If E >= 900 And E <= 909 Then tmpStr = "Воск"
            If E >= 910 And E <= 919 Then tmpStr = "Глазирователь"
            If E >= 920 And E <= 929 Then tmpStr = "Вещество, улучшающее мучное изделие"
            If E >= 930 And E <= 949 Then tmpStr = "Газ для упаковки"
            If E >= 950 And E <= 969 Then tmpStr = "Подсластитель"
            If E >= 990 And E <= 999 Then tmpStr = "Пенообразователь"

    Мой очень древний высер - программка на определение пищевых добавок "Е". Похожих фрагментов есть ещё несколько. И не лень было печатать! Select Case сюда бы больше подошёл, но я о нём тогда не знал.

    RaZeR, 10 Января 2011

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

    +108

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private void Form_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Escape)
                {
                    btnCancel_Click(sender, EventArgs.Empty);
                }
            }

    Форма - модальный диалог, Cancel кнопка обычная - никаких причин просто выставить у нее DialogResult в Cancel не было. Но ведь так нагляднее!

    eval_2009, 05 Января 2011

    Комментарии (3)
  8. Python / Говнокод #5149

    −172

    1. 1
    time.strftime('%Y/%m/%d', time.localtime(time.time()+86400))

    Вычисление завтрашней даты.
    В день перехода на зимнее время этот код не будет работать.
    До сих пор не знаю, как это сделать правильно.

    burdakovd, 05 Января 2011

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

    +132

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <style type="text/css">
    <!--
    .стиль2 {
    font-family: "Times New Roman", Times, serif;
    font-style: italic;
    }
    .стиль3 {
    font-size: 16px;
    font-weight: bold;
    font-style: italic;
    }
    .стиль4 {font-size: 12px; font-weight: bold; font-style: italic; }
    -->
    </style>
    <head>
    <meta name="description" content="<?php echo $myrow['meta_d']; ?>" />
    <meta name="keywords" content="<?php echo $myrow['meta_k']; ?>" />
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <title><?php echo "Заметки по запросу - $search"; ?></title>
    <link href="style.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <table width="700" align="center" cellpadding="0" cellspacing="0" class="main_border">
    <!--Блок с шапкой сайта-->
    <? include ("blocks/header.php"); ?>
    <tr>
    <!--Блок меню сайта-->
    <? include ("blocks/menu.php"); ?>
    <td width="554" valign="top" bgcolor="#FFFFFF">

    qbasic, 30 Декабря 2010

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

    +79

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public class LessOperator extends GreaterOperator {
        public Object evaluateNode(ITreeNode node, List<NodeValuePair> list) throws CalculatorException {
            return !(Boolean)super.evaluateNode(node, list);
        }
    }

    Видимо тут программист решил сократить себе работу и реализовал оператор сравнения "меньше" как "не больше", использовав готовую реализацию оператора "больше".
    В результате вместо операции "меньше" получили операцию "меньше или равно".

    borka, 30 Декабря 2010

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

    +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
    /*
    -----------------------------------------------------------------
    Обработка текстов перед выводом на экран
    -----------------------------------------------------------------
    */
    function checkout($str, $br = 0, $tags = 0) {
        $str = htmlentities($str, ENT_QUOTES, 'UTF-8');
    
        if ($br == 1)
            $str = nl2br($str);
        elseif ($br == 2)
            $str = str_replace("\r\n", ' ', $str);
    
        if ($tags == 1)
            $str = tags($str);
        elseif ($tags == 2)
            $str = notags($str);
        $str = strtr($str, array (
            chr(0)=> '',
            chr(1)=> '',
            chr(2)=> '',
            chr(3)=> '',
            chr(4)=> '',
            chr(5)=> '',
            chr(6)=> '',
            chr(7)=> '',
            chr(8)=> '',
            chr(9)=> '',
            chr(10)=> '',
            chr(11)=> '',
            chr(12)=> '',
            chr(13)=> '',
            chr(14)=> '',
            chr(15)=> '',
            chr(16)=> '',
            chr(17)=> '',
            chr(18)=> '',
            chr(19)=> '',
            chr(20)=> '',
            chr(21)=> '',
            chr(22)=> '',
            chr(23)=> '',
            chr(24)=> '',
            chr(25)=> '',
            chr(26)=> '',
            chr(27)=> '',
            chr(28)=> '',
            chr(29)=> '',

    JohnCMS 4, incfiles/func.php

    NadiaVita, 28 Декабря 2010

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