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

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    var begin_h = html.indexOf("<h1 class=\"header\">");
    var end_h = html.indexOf("</h1>");
    var data = "";
    if (begin_h != -1 && end_h != -1) {
      data = html.substr(begin_h, end_h + 5); //5 - это длина тега </h1>, чтобы его тоже захватило
    }

    Прелесть, найденная на гугл-ответах. Человек пишет расширение для Firefox.

    Vindicar, 29 Марта 2011

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

    +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
    function antispam()
    {
    var num1=Math.floor(Math.random()*11)+1;
    var num2=Math.floor(Math.random()*11)+1;
    var sum = num1+num2;
    var userP = prompt("To check that you are not spammer, solve this simple equation - "+num1+"+"+num2+"=?","");
    if (userP != null)
    {
    if (userP != sum) 
    {
    document.write("<!--");
    alert("Wrong answer!");
    } 
    else 
    {
    document.write('<form id="logform" action="proceed.php" onsubmit="javascript:return validate("logform","email");" method="post"><p>Your name: <input type="text" name="name" /></p><p>Your password: <input type="password" name="password" /></p><p>Your e-mail: <input type="text" name="email" id="email" /></p><p><input type="submit" value="Register!" /></p></form>');
    }
    }
    }

    Вот в таком режиме работает уже месяца два. Если не ГК, прошу, посоветуйте как можно это лучше сделать (или прикрутить капчу и не парится? :)). На JS я практически не пишу, я пишу в основном под .NET.

    RaZeR, 15 Марта 2011

    Комментарии (15)
  4. Си / Говнокод #5981

    +132

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (argc == 3)
        snprintf(outfile, sizeof(outfile) - 1, "scan.log", argv[1], argv[2]);
    else if (argc >= 4)
    {
        snprintf(outfile, sizeof(outfile) - 1, "scan.log", argv[1], argv[3], argv[2]);
        // ...
    }

    Какой-то иксплойт, файл pscan2.c

    raorn, 14 Марта 2011

    Комментарии (15)
  5. Си / Говнокод #5965

    +135

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    //глубоко в коде
    char output[1024];
    
    //еще глубже
    struct sockaddr_in outputa;
    
    //...
    
    if(sendto(s, output, 512, 0, (struct sockaddr *) &output, rsize) == SOCKET_ERROR) {
        printf("Socket error: %i.\n", WSAGetLastError());
    }

    Долго-же я думал, почему оно вываливается с ошибкой 10047.

    danilissimus, 12 Марта 2011

    Комментарии (15)
  6. Java / Говнокод #5858

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    static List sort(List unsorted, Comparator comparator) { 
        List sorted = new ArrayList(unsorted); 
        Collections.sort(unsorted, comparator);
        return sorted;
    }

    feodal, 03 Марта 2011

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

    +118

    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
    foreach (var aiett in _selectApplItemEntranceTrial)
                {
                lbl2:
                    ReceptionReason_EducationLayout rrel_temp = null;
                    EntranceTrialItem_RecResEducLayout eti_rrel = null;
                    bool flag = false;
                    foreach (var rrel in _recReasonEducLay)
                        foreach (var ap in aiett.ListAppItem)
                            foreach (var rr in rrel.ListRecReas_EducLayout)
                                if (ap.ApplItem.Id_ReceptionReason_EducationLayout == rr.Id)
                                {
                                    rrel_temp = rr;
                                    eti_rrel = rrel;
                                    flag = true;
                                    goto lbl;
                                }
                lbl: ;
                    if (flag)
                    {
                        _recReasonEducLay.FirstOrDefault(x => x == eti_rrel).ListRecReas_EducLayout.Remove(rrel_temp);
                        if (_recReasonEducLay.FirstOrDefault(x => x == eti_rrel).ListRecReas_EducLayout.Count == 0)
                            _recReasonEducLay.Remove(eti_rrel);
                        goto lbl2;
                    }
                }

    Мой личный говнокод! Работающий правильно))))

    slavenin, 02 Марта 2011

    Комментарии (15)
  8. PHP / Говнокод #5770

    +159

    1. 1
    $this->last_error = $success;

    кстати о названиях переменных :))

    youROCK, 22 Февраля 2011

    Комментарии (15)
  9. ActionScript / Говнокод #5693

    −241

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private function fürDieLuLz(event:String, params:StringHash):void
    {
    	if (ExternalInterface.available)
    		ExternalInterface.call(
    			"function(){window.fireEvent('" + event + 
    			"',JSON.stringify(" + params + "));}");
    }

    Я долго пытался объяснить человеку пишущему JS часть проекта, что не нужно перекодировать объекты каждый раз из JSON и обратно при общении с Флешем, если они все равно проходят через eval(). Но у человека ЧСВ победил все. В итоге пришел "главный инженер" и "решил", что "если мы раньше так делали, то мы будем так делать и дальше, и не волнует". В итоге родился этот шедевр. Я сегодня с утра для поднятия настроения показал этот код JS кодеру. Долго объяснял, что он делает. После чего он сказал, что больше не будет со мной разговаривать :)
    Я счастлив

    wvxvw, 16 Февраля 2011

    Комментарии (15)
  10. bash / Говнокод #5670

    −142

    1. 1
    rm -r * .tmp

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

    Говногость, 14 Февраля 2011

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

    +169

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    class  SeismicDriver {
      void   set2DVolume    (GlData2DVol* vol = 0, bool reserv = false);
      GlData2DVol*   _glData2DVol;      /**< Seismic 2D Line */
    }
    
    void SeismicDriver::set2DVolume  (GlData2DVol* vol, bool reserv)
    {
      _glData2DVol = vol;
    }

    Наш подопытный китаец очень предусмотрительный. Если в будущем вдруг случится, что функции понадобится второй параметр типа bool - опа! - он уже есть :)

    kitaec, 09 Февраля 2011

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