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

    В номинации:
    За время:
  2. Куча / Говнокод #10968

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    # Some old m4's don't support m4exit.  But they provide
    # equivalent functionality by core dumping because of the
    # long macros we define.
    ifdef([__gnu__], ,
    [errprint(M4sugar requires GNU M4. Install it before installing M4sugar or
    set the M4 environment variable to its path name.)
    m4exit(2)])

    из m4 скрипта, часть autoconf.

    fyi: http://en.wikipedia.org/wiki/M4_%28computer_language%29

    Dummy00001, 15 Июня 2012

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

    −165

    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
    $sql = 'SELECT * FROM 
                        (SELECT COUNT(company.id) as cnt_company , 
                        FROM_DAYS(TO_DAYS( company.created_at )) as day 
                            FROM company
                        JOIN contact ON contact.company_id = company.id
                        JOIN issuer ON issuer.id = company.issuer_id
                        JOIN bill ON bill.company_id = company.id
                            WHERE contact.partner_id ='.$this->_partner->getId().'
                            AND company.created_at '.$query.'
                        GROUP BY day) as A 
                    LEFT JOIN
                        (SELECT COUNT(process.id) as finished, 
                        FROM_DAYS(TO_DAYS( process.finished_at )) as day2 
                            FROM process
                        JOIN bill on bill.id= process.bill_id
                        JOIN company ON bill.company_id = company.id
                        JOIN contact ON contact.company_id = company.id
                        JOIN issuer ON issuer.id = company.issuer_id
                            WHERE contact.partner_id ='.$this->_partner->getId().'
                            AND issuer.signature_article_id = bill.article_id
                        GROUP BY day2) as B ON A.day = B.day2
                    LEFT JOIN
                        (SELECT COUNT( * ) as count,
                        FROM_DAYS(TO_DAYS(click.created_at)) as day3,
                        COUNT( DISTINCT click.ip ) as uniq 
                            FROM click 
                        WHERE click.partner_id = '.$this->_partner->getId().'
                        AND click.created_at '.$query.'
                           GROUP BY day3)  as C ON A.day = C.day3
                    UNION
                    SELECT * FROM 
                        (SELECT COUNT(company.id) as cnt_company , 
                        FROM_DAYS(TO_DAYS( company.created_at )) as day 
                            FROM company
                        JOIN contact ON contact.company_id = company.id
                        JOIN issuer ON issuer.id = company.issuer_id
                        JOIN bill ON bill.company_id = company.id
                            WHERE contact.partner_id ='.$this->_partner->getId().'
                            AND DATE(company.created_at)'.$query.'
                        GROUP BY day) as A 
                    RIGHT JOIN
                        (SELECT COUNT(process.id) as finished, 
                        FROM_DAYS(TO_DAYS( process.finished_at )) as day2 
                            FROM process
                        JOIN bill on bill.id= process.bill_id
                        JOIN company ON bill.company_id = company.id
                        JOIN contact ON contact.company_id = company.id
                        JOIN issuer ON issuer.id = company.issuer_id
                            WHERE contact.partner_id ='.$this->_partner->getId().'
                        AND issuer.signature_article_id = bill.article_id
                        GROUP BY day2 ) as B ON A.day = B.day2
                    RIGHT JOIN
                        (SELECT COUNT( * ) as count,
                        FROM_DAYS(TO_DAYS(click.created_at)) as day3,
                        COUNT( DISTINCT click.ip ) as uniq 
                            FROM click 
                        WHERE click.partner_id = '.$this->_partner->getId().'
                        AND click.created_at '.$query.'
                           GROUP BY day3)  as C ON A.day = C.day3';

    T_T

    raga, 15 Июня 2012

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

    +53

    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
    function CP1251toUTF8($string) {
        $out = '';
        for ($i = 0; $i < strlen($string); ++$i) {
            $ch = ord($string{$i});
            if ($ch < 0x80)
                $out .= chr($ch);
            else
            if ($ch >= 0xC0)
                if ($ch < 0xF0)
                    $out .= "\xD0" . chr(0x90 + $ch - 0xC0); // А-Я, а-п (A-YA, a-p) 
                else
                    $out .= "\xD1" . chr(0x80 + $ch - 0xF0); // р-я (r-ya) 
                    else
                switch ($ch) {
                    case 0xA8: $out .= "\xD0\x81";
                        break; // YO 
                    case 0xB8: $out .= "\xD1\x91";
                        break; // yo 
    // ukrainian 
                    case 0xA1: $out .= "\xD0\x8E";
                        break; // Ў (U) 
                    case 0xA2: $out .= "\xD1\x9E";
                        break; // ў (u) 
                    case 0xAA: $out .= "\xD0\x84";
                        break; // Є (e) 
                    case 0xAF: $out .= "\xD0\x87";
                        break; // Ї (I..) 
                    case 0xB2: $out .= "\xD0\x86";
                        break; // I (I) 
                    case 0xB3: $out .= "\xD1\x96";
                        break; // i (i) 
                    case 0xBA: $out .= "\xD1\x94";
                        break; // є (e) 
                    case 0xBF: $out .= "\xD1\x97";
                        break; // ї (i..) 
    // chuvashian 
                    case 0x8C: $out .= "\xD3\x90";
                        break; // ? (A) 
                    case 0x8D: $out .= "\xD3\x96";
                        break; // ? (E) 
                    case 0x8E: $out .= "\xD2\xAA";
                        break; // ? (SCH) 
                    case 0x8F: $out .= "\xD3\xB2";
                        break; // ? (U) 
                    case 0x9C: $out .= "\xD3\x91";
                        break; // ? (a) 
                    case 0x9D: $out .= "\xD3\x97";
                        break; // ? (e) 
                    case 0x9E: $out .= "\xD2\xAB";
                        break; // ? (sch) 
                    case 0x9F: $out .= "\xD3\xB3";
                        break; // ? (u) 
                }
        }
        return $out;
    }

    iconv? Не, не слышал.

    7ion, 14 Июня 2012

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

    +55

    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
    protected function _convertArrayToStr($arr = array()) {
    
    	$str = '';
    	$data = Controller::getSomeMethod();
    
    
    	$valus = array_values($arr);
    	$keys = array_keys($arr);
    	//Количество незаполненых полей
    	$count = 0;
    	// Формируем строку с title и введеных значени
    	for($i = 0; $i < count($arr); ++$i) {
    
    		if($keys[$i] == $data[$i]['name'] ) {
    			
    			if($valus[$i] == 'on') {
    				$valus[$i] = 'Да';
    			}
    
    			$str .= $data[$i+$count]['title'] . ": " . $valus[$i] . " \n";
    
    		}else{
    
    			$count++;
    			$str .= $data[$i+$count]['title'] . ": " . $valus[$i] . " \n";
    
    		}
    	}
    	return $str;
    
    }

    Стажер реализовал обход ассоциативного массива и преобразование значений массива в строку.

    Iliander, 13 Июня 2012

    Комментарии (6)
  6. 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)
  7. 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)
  8. 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)
  9. JavaScript / Говнокод #10368

    +145

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

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

    nethak, 25 Мая 2012

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

    −95

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

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

    farcaller, 24 Мая 2012

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

    +137

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

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

    ykhrustalev, 23 Мая 2012

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