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

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <?if(false){?>
    <ul class="top_nav_lang">
    <?if($lang != 'en'){?><li><a href="en"><span>EN</span></a></li><?}?>
    <?if($lang != 'bg'){?><li><a href="bg"><span>BG</span></a></li><?}?>
    </ul>
    <?}?>

    выбор языка...

    daemonkeeper, 15 Апреля 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $url = get_permalink();
        $text = 'Подробнее';
        if(strpos($url, '/en/') !== false){
            $text = 'More';
        } else if(strpos($url, '/ua/') !== false){
            $text = 'Детальніше';
        }

    l10n

    Stefan_Hitskov, 01 Февраля 2016

    Комментарии (24)
  4. Куча / Говнокод #19191

    +9

    1. 1
    2. 2
    3. 3
    4. 4
    let i=document.createElement("i");
    //какого чёрта это тег i? - Программист
    //Тег i короткий и по звучанию ближе всего к «image» или «icon». А с точки зрения семантики здесь нет ничего страшного, т.к. текста внутри тега нет, и он фактически пустой. - Дизайнер
    //Тег i для текста! - Программист

    Перебранка Программиста, фаната стандартов, и Дизайнера в Javascript-коде (но относительно HTML). Дизайнер последовательно использует тег i для иконок, прописываемых в CSS-стиле background-image.

    torbasow, 16 Декабря 2015

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

    +11

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    void Aligner::set_genomic_sequences(vector< pair <string,string> > nt_genomic_seq){
    	this->nt_genomic_sequences = *(new forward_list<pair<string,string>>);
    	this->int_genomic_sequences = *(new forward_list<pair<string,string>>);
    	for(vector<pair<string,string>>::const_iterator iter = nt_genomic_seq.begin() ; iter != nt_genomic_seq.end() ; iter++){
    		nt_genomic_sequences.emplace_front((*iter).first,(*iter).second);
    		int_genomic_sequences.emplace_front((*iter).first , nt2int((*iter).second));
    	}
    }

    Типичный академический код из https://bitbucket.org/yuvalel/repgenhmm. Могу только предположить, что авторы скопипастили код из Java, а потом разыменовывали указатели, пока не скомпилировалось.

    Yuuri, 11 Декабря 2015

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

    −1

    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
    int expr_type=Expression();
    
    				if (param->Left != NULL)
    				{
    					param = param->Left;
    					if (param->node.NodeType == DATA_VAR)
    					{
    						SemantTree *type = (SemantTree *)param->node.Val.varible.VarType;
    						if (type->node.type != expr_type)
    						{
    							sc->PrintError("тип фактического параметра не приводится к типу соответствующего ему формального параметра", l);
    							return;
    						}
    					}
    					else//если не переменная
    					{
    						sc->PrintError("количество формальных и фактических параметров не совпадает", l);
    						return;
    					}
    				}
    				else//если вдруг левое поддерево==NULL
    				{
    					sc->PrintError("количество формальных и фактических параметров не совпадает", l);
    					return;
    				}
    				param_counter++;
    				if (param_counter>idr->node.Val.func.paramCount)//если счетчик фактических превысил кол-во формальных
    				{
    					sc->PrintError("количество формальных и фактических параметров не совпадает", l);
    					return;
    				}

    теория формальных языков. моя лаба по семантическому анализу))

    vladimir94, 25 Октября 2015

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

    +2

    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
    if(file_exists('./daemon.php') & isset($_GET['stop'])){
        rename('./daemon.php', './daemon.php~');
        sleep(3);
        header('Location: http://'.$_SERVER[HTTP_HOST]);
    }elseif(isset($_GET['restart'])){
        include('./lib.inc');
        @rename('./daemon.php', './daemon.php~');
        sleep(3);
        rename('./daemon.php~', './daemon.php');
        ping('daemon.php');
        sleep(3);
        header('Location: http://'.$_SERVER[HTTP_HOST]);
    }
        echo '<a href="/?restart" class="button">Start/Restart</a> ';
    if(file_exists('./daemon.php'))
        echo '<a href="/?stop" class="button">Stop</a>';
    ?><br>
    
    <div class="display">-</div>
    <script type="text/javascript"><!--
    var xd;
    setInterval(function(){
    xd&&xd.abort();
    xd = new XMLHttpRequest();
    xd.onreadystatechange = function(){
    if(xd.readyState == 4){
    document.querySelector(".display").textContent = xd.responseText;
    }
    }
    xd.open('GET', '/display.txt', true);
    xd.send();
    
    }, 3000);
    //--></script>
    
    
    daemon.php:
    
    if(date('his')-file_get_contents('./date')<2)
        exit;
        file_put_contents('./date', date('his'));
        include('./lib.inc');
        $f=fopen('./lock', 'w+');
        flock($f, LOCK_EX);
        ping('core.php');
        sleep(3);
        ping('daemon.php');
        usleep(200);
        ping('daemon.php');
        usleep(200);
        flock($f, LOCK_UN);
    
    
    core.php:
    
        ini_set('display_errors', 'on');
        error_reporting(E_ALL);
        ini_set('html_errors', 'off');
        $xreservedbasedir=__DIR__;
        $xreservedtmpbuf=str_repeat('x', 1024 * 3);
    function ob_write($buffer){
        unset($GLOBALS['xreservedtmpbuf']);
        file_put_contents($GLOBALS['xreservedbasedir'].'/display.txt', $buffer, LOCK_EX);
    }
        ob_start('ob_write');
        include('./script.php');
    
    script.php:
    
        echo date("Y.m.d h:i:s"); //любой код, который исполняет демон
    
    lib.inc:
    
    function ping($action){
        $h=$_SERVER[HTTP_HOST];
        $http=fsockopen($h, 80, $e1, $e2, 1);
    if($http){
        fwrite($http,
        'GET /'.$action.' HTTP/1.1'."\r\n".
        'Accept: */*'."\r\n".
        'Host: '.$h."\r\n\r\n"
        );
        fclose($http);
    }
    }

    демон на php? Легко!

    loki90, 23 Сентября 2015

    Комментарии (24)
  8. JavaScript / Говнокод #18741

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    /^.{0}$/.test('')   // true
    /^.{0,}$/.test('')  // true
    /^.{0,1}$/.test('') // true
    /^.{,1}$/.test('')  // false

    http://www.ecma-international.org/ecma-262/5.1/#sec-15.10

    /^.{,1}$/.test('.{,1}') // true

    1024--, 21 Сентября 2015

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

    +142

    1. 1
    Куда пропадают кучки? Замечал и ранее, но думал что к этому причастны сами авторы, а сегодня пропал мой через пол-часа после публикации. Кто включил gc?

    FlySnake, 14 Июня 2015

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

    +142

    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
    QString queryString = QString("SELECT `angle`, `heights` FROM `heights%1` WHERE `angle` / 10 ").arg(camera->cid());
    
    	if (from <= 0 || to > 360)
    	{
    		if (from <= 0) // to the right of North
    		{
    			from += 360;
    
    			qSwap<double>(from, to);
    		}
    		else if (to > 360) // to the left of North
    		{
    			to -= 360;
    
    			qSwap<double>(from, to);
    		}
    
    		from += 0.1;
    		to -= 0.1;
    
    		queryString += "NOT ";
    	}
    
    	queryString += QString("BETWEEN %1 AND %2").arg(from, 0, 'f', 1).arg(to, 0, 'f', 1);

    извращался как мог, сколько дадите по шкале от 0 до 10?

    Wexter, 22 Мая 2015

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

    +147

    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
    public static object get_pack_print(int packid)
                {
                    OracleConnection conn = connect();
                    conn.Open();
                    string json = "";
                    string sql1 = "select id, num, k01.fio||' '||k01.fnam||' '||k01.fot fio, k02.fio||' '||k02.fnam||' '||k02.fot fior, s01.s_name_s sno, s02.s_name_s snor " +
                                  "from ertd_card ec, HCM_K01@DBLKIPR k01, HCM_K01@DBLKIPR k02, HCM_S01@DBLKIPR s01, HCM_S01@DBLKIPR s02 " +
                                  "where " +
                                  "EC.PACKID=" + packid +
                                  " and k01.tnr = ec.tnr " +
                                  "and k02.tnr = ec.tnrr " +
                                  "and s01.s_no = ec.sno " +
                                  "and s02.s_no = ec.snor " +
                                  "and ec.del= 0";
                    try
                    {
    
                        OracleCommand cmd = new OracleCommand(sql1, conn);
                        cmd.CommandType = CommandType.Text;
                        OracleDataReader dr = cmd.ExecuteReader();
                        dr.Read();
                       
                        do
                        {
                            if (string.IsNullOrEmpty(json))
                            {
                               
    
                                json += "{\"data\":[{\"id\":\"" + dr["id"].ToString() + "\",\"num\":\"" + dr["num"].ToString() + "\",\"sno\":\"" + dr["sno"].ToString() + "\",\"snor\":\"" + dr["snor"].ToString() +
                                    "\",\"fio\":\"" + dr["fio"].ToString() +
                                    "\",\"fior\":\"" + dr["fior"].ToString() + "\"}";
    
                            }
                            else
                            {
                                json += ",{\"id\":\"" + dr["id"].ToString() + "\",\"num\":\"" + dr["num"].ToString() + "\",\"sno\":\"" + dr["sno"].ToString() + "\",\"snor\":\"" + dr["snor"].ToString() +
                                    "\",\"fio\":\"" + dr["fio"].ToString() +
                                    "\",\"fior\":\"" + dr["fior"].ToString() + "\"}";
                            }
                        }
                        while (dr.Read());
                      
                        json += "]}";
    
                        conn.Close();
                        return new System.Web.Script.Serialization.JavaScriptSerializer().DeserializeObject(json);
                      
                    }
                    catch (Exception ex)
                    {
                        conn.Close();
                        return null;
                    }
                }

    да просто стиль у него такой. Суровый.
    += "}"

    LIBERTE, 06 Мая 2015

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