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

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

    −16

    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
    template <class T>
    inline T qobject_cast(const QObject *object)
    {
        // this will cause a compilation error if T is not const
        register T ptr = static_cast<T>(object);
        Q_UNUSED(ptr);
    
    #if !defined(QT_NO_MEMBER_TEMPLATES) && !defined(QT_NO_QOBJECT_CHECK)
        reinterpret_cast<T>(0)->qt_check_for_QOBJECT_macro(*reinterpret_cast<T>(const_cast<QObject *>(object)));
    #endif
        return static_cast<T>(const_cast<QObject *>(reinterpret_cast<T>(0)->staticMetaObject.cast(const_cast<QObject
     *>(object))));
    }

    Кастовали-кастовали и выкастовали!
    corelib/kernel/qobject.h в Qt 4.7.x

    bormand, 12 Июня 2012

    Комментарии (6)
  3. Pascal / Говнокод #10586

    +101

    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
    procedure TForm1.Button1Click(Sender: TObject);
    const
    n=4;
    var
    x,y,r: integer;
     x1, y1, x2, y2, x3, y3, x4, y4,i : real;
      a: string;
    begin
      //n:=strtoint(edit1.text);
       x:=strtoint(edit2.text);
        y:=strtoint(edit3.text);
          x1:=strtofloat(edit4.text);
           y1:=strtofloat(edit5.text);
             x2:=strtofloat(edit1.text);
           y2:=strtofloat(edit6.text);
             x3:=strtofloat(edit7.text);
           y3:=strtofloat(edit8.text);
             x4:=strtofloat(edit9.text);
           y4:=strtofloat(edit10.text);
              if (y1>y) or (y1<0) or (x1>x)or (x1<0)  then
            showmessage('дачник 1');
              if (y2>y) or (y2<0) or (x2>x+x)or (x2<0)  then
            showmessage('дачник 1');
            if (y3>y) or (y3<0) or (x3>x+x)or (x3<0)  then
            showmessage('дачник 1');
            if (y4>y) or (y4<0) or (x4>x+x)or (x4<0)  then
            showmessage('дачник 1');

    условие не лучше решения)
    "Всем известно, что дачники – народ странный. Строят они свои дачи непонятно где, да и выращивают там непонятно что и непонятно зачем. А уж как они туда добираются, это другая история: кто на автобусе, кто на электричке, кто на автомобиле, ну а кто-то во-все пешком ходит от дома и до самого участка. Так что не стоит удивляться, если вдруг Вы узнаете, что некое садоводческое товарищество располагается на острове, а дачники добираются до него самолетом. Да еще и на этом острове может не быть посадочной полосы, так что высадиться на остров можно, только прыгая с парашютом (мы уж не рассматриваем то, как они возвращаются с дач домой). Рассмотрим этот уникальный случай. Пилот всегда старается осуществить высадку парашютистов таким образом, чтобы дачники приземлялись как можно ближе к своим прямоугольным участкам. Пилоту интересно знать: сколько дачников приземлится на свои участки? Помогите ему решить эту задачу!"
    O_o

    qwerty13, 05 Июня 2012

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

    +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
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    $("#idSave").click(function () {
            var img_src = $("#idImg").attr('src');
            var web_src = $("#idFromWebSite").attr('href');
            var pamp_id = $.cookie('pamp');
            var title_src = $("#idTitle").val();
            var brand_src = $("#idBrand").val();
            var tags_src = $("#idTags").val();
            var price_src = $("#idPrice").val();
            var privacy_src = $("#idPrivacy").val();
    
            var data = new Object();
            data.Url = img_src;
            data.UrlFrom = web_src;
            data.PampID = pamp_id;
            data.Title = title_src;
            data.Brand = brand_src;
            data.Tags = tags_src;
            data.Price = price_src;
            data.Privacy = privacy_src;
    
            $.ajax({
                url: url,
                type: "POST",
                dataType: "json",
                data: data,
                success: successProductSave,
                error: errorProductSave
            });
        });

    - $().serialize() and $().serializeArray() ?? WTF ??
    - RTFM ....

    DarkThinker, 25 Мая 2012

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

    +145

    1. 1
    backgroundImage: 'url(\'' . add . '\')'

    Привет из php...

    nethak, 25 Мая 2012

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

    −95

    1. 1
    #define LOTS_OF_ARGS "@^v@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"

    -methodSignatureForSelector: очень рад такому повороту событий.

    farcaller, 24 Мая 2012

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

    +137

    1. 1
    http://<api-host>/admin/questions?utf8=✓&skill_id=71

    сервер: сер, как у вас с utf8?
    клиент: все ОК

    ykhrustalev, 23 Мая 2012

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

    +66

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    catch (com.google.gwt.event.shared.UmbrellaException ex) {
    					Iterator<Throwable> it = ex.getCauses().iterator();
    					while (it.hasNext()) {
    						Throwable msg = it.next();
    						System.out.println(msg.getStackTrace());
    					}

    обрабатываем exception......

    sermolaev, 16 Мая 2012

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

    +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
    template<class TValueChanger1, class TValueChanger2, class TValueChanger3>
    	NContour::NPrimitives::PArc ChangePrimitive(NContour::NPrimitives::PArc Arc, const TValueChanger1& ValueChanger1, const TValueChanger2& ValueChanger2, const TValueChanger3& ValueChanger3)
    	{
    		return
    		boost::static_pointer_cast<NContour::NPrimitives::TArc>(ValueChanger3(
    		boost::static_pointer_cast<NContour::NPrimitives::TArc>(ValueChanger2(
    		boost::static_pointer_cast<NContour::NPrimitives::TArc>(ValueChanger1(
    		Arc
    		))
    		))
    		));
    	}

    Говногость, 10 Мая 2012

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

    +80

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $F = 0;
    if ($F == "0") {
    include ("index-bd.php");
    }
    else {
    include ("../index-bd.php");
    };

    И так подключатся все файлы в проекте.

    Evil_Wolf, 07 Мая 2012

    Комментарии (6)
  11. PHP / Говнокод #10201

    +79

    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
    //первый сайт - интернет магазин
    //отрывок из функции редактирования, функции добавления, функции удаления товаров, в таблицу "export_catalogue" каждая строка - это "поле товара" и "новое значение поля"
    //что-то на подобие лога изменений. Конечно копипаст всех полей товаров.
    $this->insert($table = "`export_catalogue`", $fields = "`action`, `table`, `element`, `fields`, `value`", $values="'update', 'catalogue_files', '$catalogue_id', 'name_rus', '$name_rus'");
    $this->insert($table = "`export_catalogue`", $fields = "`action`, `table`, `element`, `fields`, `value`", $values="'update', 'catalogue_files', '$catalogue_id', 'name_ger', '$name_ger'");
    
    //файл xml_create_catalogue.php, который запускается по крону каждые 5 минут, создаёт xml файлы. Каждый файл содержит в себе изменение одного поля товара
    $result_export_array = $global->select_all($fields = "*", $table = "`export_catalogue`", $where = "`create` = '0' ORDER BY `id` ASC");
    for ($i=0; $i<count($result_export_array); $i++){
      $doc = new DOMDocument('1.0', 'utf-8');
      $doc->formatOutput = true;
      ...
      // название fields - не мой коммент
      $fields = $doc->createElement('fields');
      $fields = $root->appendChild($fields);
      // данные element - не мой коммент
      $data_fields = $doc->createTextNode($result_export_array[$i]['fields']);
      $data_fields = $fields->appendChild($data_fields);
      ...
      //если картинка или файл товара, то файл кодируется в бэйс64 и записывается в ячейку xml
      $value_default = $result_export_array[$i]['value'].'photo_data'.base64_encode($contents);
      $value_convert = mb_convert_encoding($value_default, "UTF-8", "Windows-1251");
      $data_value = $doc->createTextNode($value_convert);
      ...
      //почетка, что файл экспорта создан
      $global->update($table = "`export_catalogue`", $fields = "`create` = '1'", $where = "`id` = '".$result_export_array[$i]['id']."'");
    }
    
    //файл xml_upload_catalogue.php, крон - 5 минут, копирует созданные xml файлы на фтп второго сайта
    $result_export_array = $global->select_all($fields = "*", $table = "`export_catalogue`", $where = "`upload` = '0' ORDER BY `id` ASC");
     for ($i=0; $i<count($result_export_array); $i++){
      ... //тут идёт копирование файлов по фтп
      //пометка, что файл загружен на второй сайт
      $global->update($table = "`export_catalogue`", $fields = "`upload` = '1'", $where = "`id` = '$file_id'"); 
    }
    
    //второй сайт - интернет магазин
    //xml_import_catalogue.php по крону, проверяется наличие xml файлов и поля импортируются в каталог
    //цикл по списку файлов
    foreach ($file_list as $key => $file_name) {
      //в таблицу import_catalogue записывается, какие файлы были импортированны 
      $next_file_array = $global->select_only($fields = "*", $table = "`import_catalogue`", $where = "`id` != '0' ORDER BY `id` DESC LIMIT 1");
      //причем имя файла(числовое) должно быть обязательно на 1 больше последнего записанного в таблице 
      $next_file = intval($next_file_array['id'] + 1).'.xml';
      ...
      //апдейт поля товара
      $value_convert = mb_convert_encoding($value_xml, "Windows-1251", "UTF-8");
      $global->update($table = "`$table_xml`", $fields = "`$fields_xml` = '".$global->sql_prepare($value_convert)."'", $where = "`id` = '$element_xml'");
      ...
      //помечаем, что файл импортирован и удаляем
      $global->insert($table = "`import_catalogue`", $fields = "`joined`", $values="'$joined'");
    }

    Самый идеальный экспорт товаров из одного сайта в другой. Приведены отрывки кода из двух сайтов на каждом этапе экспорта

    Cool-Di, 05 Мая 2012

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