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

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

    +55

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    void input (char inpt [64])
    {
    	for (;;)
    	{
    		int i(0);
    		cin >> inpt;
    		i ++;
    		if (inpt[i] == '\n')
    			inpt[i] = '\0';break;
    	}
    }

    normbo, 03 Ноября 2014

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

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function generateSession()
    {
        $chars = "qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP";
        $max = rand(20, 32);
        $size = StrLen($chars) - 1;
        $sessionID = null;
        while ($max--)
            $sessionID .= $chars[rand(0, $size)];
        return $sessionID;
    }

    taras_shs, 31 Октября 2014

    Комментарии (14)
  4. 1C / Говнокод #16952

    −124

    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
    Результат = Запрос.Выполнить();
    Если Результат.Выгрузить().Количество() <> 0 Тогда
    	Выборка = Результат.Выбрать();
    	Пока Выборка.Следующий() Цикл
    		... тут некий код... и внутри контрольный в голову...
    		Если ТЗ.Количество() <> 0 Тогда
    			Для Каждого Строка Из ТЗ Цикл
    				...
    			КонецЦикла;	
    		КонецЕсли;	
    		...
    	КонецЦикла;
    КонецЕсли;

    Видимо это такая "оптимизация", другого объяснения подобным проверкам (это не единичный случай) не нашел.

    Twilight_Sun, 27 Октября 2014

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

    +40

    1. 1
    cout << (100 << 1 << (3000 << 2)) << 4 << 2;

    08.02.11 Теплый вечер. IDE. Code::Blocks. Цикл. Я чувствую как меня охватывает зверский аппетит.
    12.02.11 Индия. Все в лучших традициях.

    Потекло со стула.
    Я не крестоблядь.

    DesmondHume, 24 Октября 2014

    Комментарии (14)
  6. JavaScript / Говнокод #16934

    +161

    1. 1
    2. 2
    3. 3
    if (parseResult == parseResult) {
    ...
    }

    Кто поймёт, что тут проверяется - тот молодец.

    KYJIBEPCTYKAC, 24 Октября 2014

    Комментарии (14)
  7. SQL / Говнокод #16868

    −859

    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
    create table test(
      id integer primary key auto_increment,
      d datetime not null
    );
    
    insert into test(id) values (1);
    
    -- а сейчас я покажу вам особую уличную магию
    select *, d is null, d is not null from test;
    
    select *, d is null, d is not null from test
    where d is not null;
    
    select *, d is null, d is not null from test
    where d is null;  -- WTF?!
    
    select *, d is null, d is not null from test
    where d is not null and d is null; -- WTF?!

    Все 4 select'а выводят одинаковый результат... MySQL такой MySQL...

    P.S. Вставка всякой херни вместо вывода ошибки лечится добавлением STRICT_ALL_TABLES в sql_mode. А вот where с нулевой датой не лечится, видимо, это баг движка.

    bormand, 17 Октября 2014

    Комментарии (14)
  8. Java / Говнокод #16768

    +80

    1. 1
    2. 2
    3. 3
    if (!driver.findElement(By.id(DD_LAUNCH_ID)).equals(null)) {
        pause(1000);
    }

    Тогда уж почему не null.equals(...)?

    Actine, 25 Сентября 2014

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

    +76

    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
    function returnUserId() {
        if (document.getElementById('userstap') != null )  {
            var obj = document.getElementById('userstap');
            <% if ((sUserIdForPrint != null) && !sUserIdForPrint.equals("")) {%>
            if (obj.options[obj.selectedIndex].value == 0) {
                return "<%=sUserIdForPrint%>";
            <% } %>
            <% if (((sAccGrpUserIdForPrint != null) && !sAccGrpUserIdForPrint.equals("")) && ((sUserIdForPrint != null) && !sUserIdForPrint.equals(""))) {%>
            } else if (obj.options[obj.selectedIndex].value == 1 ) {
                return "<%=sAccGrpUserIdForPrint%>";
            <% } else if ((sAccGrpUserIdForPrint != null) && !sAccGrpUserIdForPrint.equals("")){%>
            if (obj.options[obj.selectedIndex].value == 1 ) {
                return "<%=sAccGrpUserIdForPrint%>";
            <% } %>
            <% if (((sAccGrpUserIdForPrint != null) && !sAccGrpUserIdForPrint.equals("")) || ((sUserIdForPrint != null) && !sUserIdForPrint.equals(""))) {%>
            } else if (obj.options[obj.selectedIndex].value == 2) {
                return "<%=userId%>";
            }
            <% } else {%>
            if (obj.options[obj.selectedIndex].value == 2) {
                return "<%=userId%>";
            }
            <% } %>
        } else {
            return "<%=userId%>";
        }
    }

    Любите ли вы JSP так, как люблю его я?

    codingHorror, 18 Сентября 2014

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

    +79

    1. 1
    2. 2
    // Number a, Number b
    return new Double(a.doubleValue() - numericTolerance).compareTo(b.doubleValue()) < 0

    В продолжение #16698, после рефакторинга. Видимо, диагноз: ООП головного мозга.

    Actine, 17 Сентября 2014

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

    −153

    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
    eval {
            my $from = $class->get_env_sender($message);
    
            $smtp->mail($from)
                || croak("Email::Send::Gmail: error sending 'from' $from");
    
            my @to = $class->get_env_recipients($message);
    
            my @ok = $smtp->to( @to, { SkipBad => 1 } )
                || croak("Email::Send::Gmail: error sending 'to' @to");
    
            if ( @to != @ok ) {
                my %to;
                @to{@to} = (1) x @to;
                delete @to{@ok};
                @bad = keys %to;
            }
    
            croak("Email::Send::Gmail: no valid recipients") if @bad == @to;
        };

    Думаю понятно, какой это модуль с CPAN. Убило незнание приоритетов, в результате чего "|| croak" всегда возвращало в @ok число вместо результата выполнения $smtp->to

    NeoliteBSD, 16 Сентября 2014

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