1. PHP / Говнокод #15754

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php if(isset($the_cat_id)): ?>
        <?php
            $query_args['showposts'] = $brp_count_category;
            $query_args['cat'] = $the_cat_id;
        ?>
    <?php else: ?>
        <?php
            $query_args['showposts'] = $brp_count_index;
        ?>
    <?php endif; ?>

    { }? Нет, не слышали...

    russling, 14 Апреля 2014

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

    +9

    1. 1
    BOOST_FOREACH(auto &v, pt.get_child("root"))

    Код компилируется и написан таким изначально. Но судя по всему использует копипаст из примеров.

    laMer007, 14 Апреля 2014

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

    +128

    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
    (defun primes-under (limit &optional (filter-depth (truncate (log limit))))
      (labels ((%purge (prefix table depth)
                 (iter
                   (for (key value) :in-hashtable table)
                   (for mul := (* key prefix))
                   (while (< mul limit))
                   (when (> depth 0) (%purge mul table (1- depth)))
                   (remhash mul table))))
        (let ((primes (iter
                        (with p := (make-hash-table))
                        (for i :from 2 :below limit)
                        (setf (gethash i p) t)
                        (finally (return p)))))
          (iter
            (for (key value) :in-hashtable primes)
            (%purge key primes filter-depth)
            (finally
             (return
               (iter
                 (for (key value) :in-hashtable primes)
                 (reducing key :by #'+))))))))

    Вопрос к знатокам: почему так работает? (у меня чисто случайно получилось)
    Для тех, кому влом разбираться:
    Задача выше - код из Прожект Ойлер. Нужно найти сумму всех простых чисел меньше 2000000 (двух миллионов).
    Методом подбора было установлено, что если из всех чисел меньше N последовательно удалять их произведения N_0 * N_1 * ... * N_m, где m = floor(log(N)), то, по крайней мере на сколько меня хватило посчитать, не-простых чисел не остается.

    Вопрос, как связан log(N), и можно ли вообще надеятся на то, что это правило - универсально (например, что степени двойки никогда не будут меньше N).

    wvxvw, 14 Апреля 2014

    Комментарии (150)
  4. Java / Говнокод #15751

    +73

    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
    StartElement startElement = event.asStartElement();
    if(startElement.getName().getLocalPart().equals(REPORT)){
    	report = new Report();
    }else if (startElement.getName().getLocalPart().equals(CODE)){
    	event = eventReader.nextEvent();
    	report.setCode(event.asCharacters().getData());
    	continue;
    }else if(startElement.getName().getLocalPart().equals(SHORT_NAME)){
    	event = eventReader.nextEvent();
    	report.setShortName(event.asCharacters().getData());
    }else if(startElement.getName().getLocalPart().equals(NAME)){
    	event = eventReader.nextEvent();
    	report.setName(event.asCharacters().getData());
    	continue;
    }else if(startElement.getName().getLocalPart().equals(TYPE)){
    	event = eventReader.nextEvent();
    	report.setType(ReportType.valueOf(event.asCharacters().getData()));
    	continue;
    }else if(startElement.getName().getLocalPart().equals(CON_CMN_REPORT)){
    	event = eventReader.nextEvent();
    	String conRepCode = event.asCharacters().getData();
    	report.setConnectedCommonReport(getReportByCode(conRepCode, reports));
    	continue;
    }else if(startElement.getName().getLocalPart().equals(BEFORE)){
    	event = eventReader.nextEvent();
    	report.setAvaliableBefore(Boolean.valueOf(event.asCharacters().getData()));
    	continue;
    }else if(startElement.getName().getLocalPart().equals(QUANTITY)){
    	event = eventReader.nextEvent();
    	report.setQuantity(ReportQuantity.valueOf(event.asCharacters().getData()));
    	continue;
    }else if(startElement.getName().getLocalPart().equals(CREATOR_CLASS_NAME)){
    	event = eventReader.nextEvent();
    	report.setCreatorClassName(event.asCharacters().getData());
    }

    и не лень же было

    evg_ever, 14 Апреля 2014

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

    +12

    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
    int main()
    {
    MyList<MySubList*> *list;
    ...
    int error=makeZeroItemsNull(list)+deleteZeroItems(list);
    delete list;
    return error;
    }
    
    int makeZeroItemsNull(MyList *list)
    {
    //Удаляем указатели в списке и обнуляем
    if(list==0||error)return 1;
    return deleteZeroItems(list); //На всякий случай проверяем остались ли не удаленные элементы
    }
    
    int deleteZeroItems(MyList *list)
    {
    //Удаляем из списка обнуленные элементы
    if(list==0||error)return 2;
    return makeZeroItemsNull(list); //На всякий случай проверяем остались ли не обнуленные элементы
    }

    Учим все функции возвращать int(0) когда нет ошибок.

    IGHOR, 14 Апреля 2014

    Комментарии (1)
  6. Си / Говнокод #15748

    +123

    1. 1
    drwsr

    Pizda, 12 Апреля 2014

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

    +123

    1. 1
    geget

    Pizda, 12 Апреля 2014

    Комментарии (0)
  8. Си / Говнокод #15743

    +117

    1. 1
    bormand сосёт анус своему отцу, размазывая говно по лицу.

    Pizda, 12 Апреля 2014

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

    +128

    1. 1
    Я вернулся, вы рады?

    Дебил ХДДДДДДД

    Pizda, 12 Апреля 2014

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

    −162

    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
    Процедура ОбождатьПятьСекунд()
    	
    	Время1 = ТекущаяДата();
    	Пока ТекущаяДата() <= Время1 + 5 Цикл
    	КонецЦикла;
    	
    КонецПроцедуры
    
    Процедура ОбождатьМенуту()
    	
    	Н = 1;
    	Пока Н <= 12 Цикл
    		ОбождатьПятьСекунд();
    		Н = Н + 1;
    	КонецЦикла;
    	
    КонецПроцедуры
    
    Процедуры ВыгрузитьВСайт(КоличествоМенут)
    	
    	Н = 1;
    	Пока Н <= КоличествоМенут Цикл
    		ОбождатьМенуту();
    		Н = Н + 1;
    	КонецЦикла;
    	
    	СформероватьОправитьХМЛ();
    	
    КонецПроцедуры

    В пятницу на собеседование пришёл программист.
    Задание было следующим: по определённым правилам сформировать XML-файл для выгрузки в интернет-кабинет. Выгрузка должна была производиться с определённой периодичностью. В клиент-серверной версии нужно было создать регламентное задание.

    С заполнением XML-файла программист справился согласно требованиям.
    Но, к сожалению, парень не умел работать с регламентными заданиями, поэтому в качестве решения сделал внешнюю обработку с обработчиком ожидания, которая запускалась в отдельном сеансе.
    Орфография сохранена :-)

    Voittamaton, 12 Апреля 2014

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