1. C# / Говнокод #11737

    +108

    1. 1
    2. 2
    3. 3
    4. 4
    if (!"12345".Contains(Model.quarter.ToString()))
    {
        m1 = m2 = m3 = "ошибка";
    }

    Немного восхитительного кода утром в понедельник.
    Тип данных Model.quarter Int32. Код из шаблона Razor

    CrazyMORF, 10 Сентября 2012

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

    +18

    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
    char* GetConnectionName(){return "";}
    //---
    char*  NetworkMgr::getErrorString(int id)
    {
        if(this->idValid(id))
    {
    return errors[id];
    }
    else
    {
    return "!!!unknown error!!!";
    }
    }

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

    Psionic, 10 Сентября 2012

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

    +118

    1. 1
    2. 2
    3. 3
    yoba = (flip (>>=) .) . ((filter .) . (flip . (((==) .) . flip mod)))
     
    main = print $ yoba 3 0 [КО КО КО]

    http://ideone.com/UGoYJ
    result: Internal error time: 0s memory: 0 kB signal: 0

    LispGovno, 09 Сентября 2012

    Комментарии (26)
  4. JavaScript / Говнокод #11734

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    if(h&&c-L<0)return y^=8,G--,L;
    
    // Toledo просрал оптимизацию на 2 байта ;)
    if(h&&c<L)return y^=8,G--,L;

    В общем-то этот пост не про говнокод, а про обещанную попытку привести в понятный вид шахматы,
    упомянутые в http://govnokod.ru/11704.

    https://github.com/bormand/nanochess
    Читаем, играем, обсираемкомментируем...

    bormand, 09 Сентября 2012

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

    +123

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    static void Main() {
        Random random = new Random();
        ...
        int n1 = notations[random.Next(max)];
        int n2 = notations[random.Next(max)]; // дублирование кода!
        ....
        //исправлено на
        int n1 = notations[random.Next(max)];
        int n2 = n1;
    }

    vistefan, 09 Сентября 2012

    Комментарии (86)
  6. Python / Говнокод #11732

    −91

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if value == '' or value == None or value == False or value == 0:
        ...
    
    if count(data) <= 0:
        ...
    
    # так же он еще умеет рефакторить это
    if post_data is None:
        ...
    # вот в это
    if not post_data:
        ...

    Пара примеров, как у нас в проекте "кодит" товарищ из Индии

    larikov, 09 Сентября 2012

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

    +117

    1. 1
    main = print x where x = x + 0

    http://ideone.com/9caQE

    result: Runtime error     time: 0.01s    memory: 3536 kB     signal: -1 
    input: no
    output: no
    stderr:
    prog: <<loop>>

    LispGovno, 09 Сентября 2012

    Комментарии (8)
  8. Perl / Говнокод #11730

    −154

    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
    sub makeCleanString {
            my ($self, $uncleanString) = @_;
            $uncleanString = lc($uncleanString);
            my @allowedChars = ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "@", ".", " ");     
                 
             my $cleanString = "";
                 
             # SPLIT THE uncleanString INTO AN ARRAY
             my @usernameAR = split(//, $uncleanString);
             my $usernameARcount = @usernameAR;
             my $run=0;
             for ($run=0;$run<$usernameARcount;$run++) {
                 if(grep $_ eq $usernameAR[$run], @allowedChars) {
                     $cleanString .= $usernameAR[$run];
                 }
             }
             return $cleanString;
        }

    Так же есть подобные методы только для букв и цифр

    LiteError, 09 Сентября 2012

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

    +59

    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
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    function Base($what, $field, $where, $id="", $special="") {
    //Соединились. Бльоооо
        $DBConnection=connect();
    
        //Чистим от лишнего входные данные
        $what=sanitize($what);
        $where=sanitize($where);
        if (isset($id)) {
            $id=sanitize($id);
        }
        if (isset($id)) {
            $special=sanitize($special);
        }
        if (isset($field)) {
            $field=sanitize($field);
        }
        //Бльоооооо
        if (!$field) {
            $field="*";
        }
    
        //Смотрим и выбираем что нам делать
        switch($what) {
            case 'sel': $query="SELECT ".$field;
                break; //Вытаскивать
            case 'del': $query="DELETE";
                break; //Удалять
        }
    
        //Формируем запрос, вставляем имя таблицы с которой мы работаем
        $query.=" FROM ".$where."s";
    
        //Проверяем есть ли условие выбора (т.е. всё мы вытаскиваем или нет
        if (isset($id) and $id!='') {
            //Если не указан параметр выбора, то автоматически заставляем выбирать по индетефикатору
            if (!isset($special) or $special=="") {
                $special=$where."_id";
            } else {
                $special=$where."_".$special;
            }
            //Формируем условие выбора
            $query.=" WHERE ".$special."='".$id."'";
        }
    
        //Нахрена вот это я ващеееее не понял, пацаныы (прим МТК)
        //трицератопс велел (прим Граф)
        if ($what=='del') {
            $query.=" LIMIT 1;";
        }
        //Исполняем запрос
        $resultId=@mysql_query($query, $DBConnection);
        //Если мы выбирали из базы
        if ($what=="sel") {
            //Но ничего не выбралось
            if(!$resultId) {
                //Возвращаем ЛОЖЬ и выходим
                return FALSE;
            }
            ;
            //Если всё ок - забиваем результат в массив
            $result=array();
            while(($currentRow=@mysql_fetch_assoc($resultId))!=false) {
                $result[]=$currentRow;
            }
            ;
    
            //И возвращаем испечённый результат
            return $result;
        }
        //Если же мы удаляли
        else {
            //Возвращаем результат.
            return $resultId;
        }
    
    }
    
    //Ебанутая функция №2
    function Base2($where, $ids="") {
        $DBConnection=connect();
        $where=sanitize($where);
        if (isset($ids)) {
            $ids=sanitize($ids);
        }
        $query="SELECT * FROM ".$where."s";
        if (isset($ids) and $ids!='') {
            $ids=explode(',', $ids);
            $query.=" WHERE ";
            $x=0;
            foreach($ids as $fieldName=>$fieldValue) {
                if ($x>0) {
                    $query.=" AND ";
                }
                //elseif ($x>1)
                //	{ $query.=","; }
                $param=explode("=", $fieldValue);
                if ($param[0]!='last_time') {
                    $query.=$where."_".$param[0]."='".$param[1]."'";
                }

    ActiveRecord? DataMapper? DAO? Ну может хотя бы PDO? )) Не, не слышали!
    Кстати, на функциях Base(), Base2() дело не закончилось,есть еще Base3(), BaseWrite(), BaseWrite2() . Я уже не стал выкладывать их код - и так понятно что там.

    WinnerWolf, 08 Сентября 2012

    Комментарии (16)
  10. PHP / Говнокод #11728

    +54

    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
    function viewMap ($battleid, $userplace, $oppo) {
        $map = Base("sel", "*", "battlemap", $battleid, 'battleid');
        $x=0;
        $stringcount=1;
        $string2=0;
        while ((isset($map[$x]['battlemap_id']))) {
            if((fmod($stringcount,15)==1)&&(fmod($stringcount,2)==1)) {
                $content.='<div style="position:relative;float:left; border:none; width:750px;">';//начало нечётной строки
                $string2++;
            }
            if((fmod($stringcount,15)==1)&&(fmod($stringcount,2)==0)) {
                $content.='<div style="position:relative;float:left; border:none;margin-left:25px; width:750px;margin-top:0px;">';//начало чётной строки
                $string2++;
            }
            $content.='<div style="position:relative;float:left;width:50px;height:50px;border:none;">';
    
            if (($map[$x]['battlemap_patterntype']==0)&&($oppo['user_battlemap']!=$map[$x]['battlemap_cellnumber'])&&($userplace!= $map[$x]['battlemap_cellnumber'])) {/*а теперь брутальная анальная дефлорация ослиц от графа(не пытайтесь повторить)*/
                $xuy=$x+1;
                if((fmod($string2,2)==0)and(!isset($shotflag)))//ежели мы не стреляем и пляшем в чётной строке, а перс в нечётной
                {
                    if(($x==($userplace-17))or($x==($userplace-16))or($x==($userplace+14))or($x==($userplace+13))) {
                        $content .='<a href="javascript:gogo('.$xuy.')">';
                    }
                }
                if((fmod($string2,2)==1)and(!isset($shotflag)))//ежели мы не стреляем и пляшем в нечётной строке, а перс в чётной
                {
                    if(($x==($userplace-16))or($x==($userplace-15))or($x==($userplace+15))or($x==($userplace+14))) {
                        $content .='<a href="javascript:gogo('.$xuy.')">';
                    }
                }
                if(($map[$x]['battlemap_cellnumber']==($userplace-1))or($map[$x]['battlemap_cellnumber']==($userplace+1))) {
                    $content .='<a href="javascript:gogo('.$xuy.')">';
                }
                $content .='<div style="position:relative;float:left;background-image:url(/img/patterns/'.$map[$x]['battlemap_patterntype'].$map[$x]['battlemap_patternstr'].'.png);height: 50px; width: 50px;"><br/> '.$map[$x]['battlemap_cellnumber'].'</div>';
                /*всё та же дефлорация*/
                if(($map[$x]['battlemap_cellnumber']==($userplace-1))or($map[$x]['battlemap_cellnumber']==($userplace+1))) {
                    $content .='</a>';
                }
                if(fmod($string2,2)==0)//ежели господа пляшем в чётной строке, а перс в нечётной
                {
                    if(($x==($userplace-17))or($x==($userplace-16))or($x==($userplace+14))or($x==($userplace+13))) {
                        $content .='</a>';
                    }
                }
                if(fmod($string2,2)==1)//ежели господа пляшем в нечётной строке, а перс в чётной
                {
                    if(($x==($userplace-16))or($x==($userplace-15))or($x==($userplace+15))or($x==($userplace+14))) {
                        $content .='</a>';
                    }
                }
            }
            if($userplace == $map[$x]['battlemap_cellnumber']) {
                $content .='<a target="_top" href="spell.php?login='.$oppo['user_login'].'" target="_parent" title="Заклинания\Способности" rel="gb_page_center[660, 180]"><div style="position:relative;float:left;background-image:url(/img/patterns/hero.png);height: 50px; width: 50px;"><br/> hero<br/>'.$stringcount2.'</div></a>';
            }
    
            if($oppo['user_battlemap'] ==$map[$x]['battlemap_cellnumber']) {
                $content .='<a href="spell.php?bgo_id='.$map[$x]['battlemap_cellnumber'].'&action=cast">Скастовать</a><br/>
    <a href="index.php?bgo_id='.$map[$x]['battlemap_cellnumber'].'&action=shoot">Выстрелить</a><br/>
        <a target="_top" href="info.php?login='.$oppo['user_login'].'" target="_parent" title="Информация о пользователе" rel="gb_page_center[460, 480]">
        <div style="position:relative;float:left;background-image:url(/img/patterns/hero.png);height: 50px; width: 50px;"><br/> oppo</div></a>';
            }
    
            $content .= '</div>';//конец ячейки
            if(fmod($stringcount,15)==0) {
                $content.='</div>';//конец строки
            }
            $x++;
            $stringcount++;
        }
        echo '<div style="margin-top:80px; margin-left:65px; owerflow:hidden;position:relative;width:777px; height:500px; float:left; border:none; background-image:url(http://steambox.ru/img/battlebackgrounds/'.$map[0]['battlemap_landtype'].'.png);background-repeat:no-repeat;">'
                .$content.
                '</div>'
        ;
    }

    Кусок браузерки. Весь остальной код в том же духе (http://govnokod.ru/9458, http://govnokod.ru/3103, http://govnokod.ru/3101 ).
    Около 110000 строк отборного говнокода. И как то умудрялось все работать. Недолго правда)))

    WinnerWolf, 08 Сентября 2012

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