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

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

    +52

    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
    double cCompositeBlock::determinant4x4(double *d){ // WARNING It's not logically connected with class.
        return  d[3]*d[6]*d[9]*d[12]  -d[2]*d[7]*d[9]*d[12]-
                d[3]*d[5]*d[10]*d[12] +d[1]*d[7]*d[10]*d[12]+
                d[2]*d[5]*d[11]*d[12] -d[1]*d[6]*d[11]*d[12]-
                d[3]*d[6]*d[8]*d[13]  +d[2]*d[7]*d[8]*d[13]+
                d[3]*d[4]*d[10]*d[13] -d[0]*d[7]*d[10]*d[13]-
                d[2]*d[4]*d[11]*d[13] +d[0]*d[6]*d[11]*d[13]+
                d[3]*d[5]*d[8]*d[14]  -d[1]*d[7]*d[8]*d[14]-
                d[3]*d[4]*d[9]*d[14]  +d[0]*d[7]*d[9]*d[14]+
                d[1]*d[4]*d[11]*d[14] -d[0]*d[5]*d[11]*d[14]-
                d[2]*d[5]*d[8]*d[15]  +d[1]*d[6]*d[8]*d[15]+
                d[2]*d[4]*d[9]*d[15]  -d[0]*d[6]*d[9]*d[15]-
                d[1]*d[4]*d[10]*d[15] +d[0]*d[5]*d[10]*d[15];
    }

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

    Комментарии (60)
  3. C++ / Говнокод #15517

    +3

    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
    #include <iostream>
    
    using namespace std;
    
    class Base {
    public:
           Base() {
                  cout << "Base construct\n";
           }
           virtual  ~Base() {
                  cout << "Base destruct\n";
           }
    };
    
    class Child: public Base {
    public:
           Child() {
                  cout << "Child construct\n";
           }
           ~Child() {
                  cout << "Child destruct\n";
           }
    };
    
    int main() {
           Base *base = new Child();
           delete base;
    }

    Hy нe oчeвиднo жe! Для тoгo, чтoб вызывaлиcь вce дecтpyктopы, нyжнo oбъявить eгo виpтyaльным. B тo вpeмя кaк кoнcтpyктop бeз мoдификaтopa virtual paбoтaeт тaк жe, кaк виpтyaльный дecтpyктop.
    И зaчeм вoбщe ocтaвлять вoзмoжнocть нe виpтyaльнoгo дecтpyктopa - нe мoгy пpeдcтaвить ceбe cлyчaя, кoгдa пpи yдaлeнии oбъeктa нyжeн вызoв дecтpyктopa тoлькo бaзoвoгo клacca.

    Pythoner, 18 Марта 2014

    Комментарии (60)
  4. C++ / Говнокод #14415

    +4

    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
    #include <iostream>
    using namespace std;
    
        void enable_misalignment_access_check(){
          cout<<"begin "<<__FUNCTION__<<endl;
          __asm__(
            "pushf\n"
            "orl $(1<<18),(%esp)\n"
            "popf\n"
          );
          cout<<"end "<<__FUNCTION__<<endl;
        }
    
    void alignedAccess(volatile unsigned char foo[])
    {
      cout<<"begin "<<__FUNCTION__<<endl;
      volatile int t = *(int *)(foo);
      cout<<"end "<<__FUNCTION__<<endl;
    }
    
    void unalignedAccess(volatile unsigned char foo[])
    {
      cout<<"begin "<<__FUNCTION__<<endl;
      volatile int t = *(int *)(foo+1);
      cout<<"end "<<__FUNCTION__<<endl;
    }
    
    unsigned char foo[] = { 1, 2, 3, 4, 5, 6 };
    
    int main(void)
    {
        alignedAccess(foo);
        unalignedAccess(foo);
        enable_misalignment_access_check();
        alignedAccess(foo);
        unalignedAccess(foo);
        return 0;
    }

    http://codepad.org/D6b5asES

    begin alignedAccess end alignedAccess 
    begin unalignedAccess end unalignedAccess
    begin enable_misalignment_access_check end enable_misalignment_access_check
    begin alignedAccess end alignedAccess
    begin unalignedAccess
    Bus error

    LispGovno, 26 Января 2014

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

    +159

    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
    /*
     -----------------------------------------------------------------
     Отмечаем все темы как прочитанные
     -----------------------------------------------------------------
     */
    $req = mysql_query("SELECT `forum`.`id`
                FROM `forum` LEFT JOIN `cms_forum_rdm` ON `forum`.`id` = `cms_forum_rdm`.`topic_id` AND `cms_forum_rdm`.`user_id` = '$user_id'
                WHERE `forum`.`type`='t'
                AND `cms_forum_rdm`.`topic_id` Is Null");
    while ($res = mysql_fetch_assoc($req)) {
        mysql_query("INSERT INTO `cms_forum_rdm` SET
                        `topic_id` = '" . $res['id'] . "',
                        `user_id` = '$user_id',
                        `time` = '" . time() . "'");
    }
    $req = mysql_query("SELECT `forum`.`id` AS `id`
                FROM `forum` LEFT JOIN `cms_forum_rdm` ON `forum`.`id` = `cms_forum_rdm`.`topic_id` AND `cms_forum_rdm`.`user_id` = '$user_id'
                WHERE `forum`.`type`='t'
                AND `forum`.`time` > `cms_forum_rdm`.`time`");
    while ($res = mysql_fetch_array($req)) {
        mysql_query("UPDATE `cms_forum_rdm` SET
                        `time` = '" . time() . "'
                        WHERE `topic_id` = '" . $res['id'] . "' AND `user_id` = '$user_id'");
    }

    Один из самых популярных мобильных движков - JohnCMS.

    Скрипт отмечает темы форума как прочтенные. Частенько бывает за сотню непрочитанных тем. А я посещаю редко, так у меня вообще за тысячу переваливает иногда.

    Max_Coder, 21 Ноября 2013

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

    +158

    1. 1
    2. 2
    3. 3
    function addGetParam($key,$value){
        $_GET[$key]=$value;
    }

    В аду найдется специальное место для таких :-)

    aleksssmix, 11 Октября 2013

    Комментарии (60)
  7. Pascal / Говнокод #13769

    +139

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    type
      TCriricalThread = class (TThread)
      private
        FileS    : integer;
        Percent  : integer;
        DlSize   : integer;
        procedure SetMaxPos;
        procedure SetCurPos;
        procedure LockButton;
        procedure DislockButton;
      protected

    Ну, уж если есть критические секции, почему бы не сделать критический поток?
    TCriricalThread = class (TThread)

    Stertor, 11 Сентября 2013

    Комментарии (60)
  8. Pascal / Говнокод #13444

    +88

    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
    program Project6;
    
    {$APPTYPE CONSOLE}
    
    uses SysUtils;
    
    type TIntArr = array of integer;
    
    function GetSingleArr (i: integer): TIntArr;
    begin
      SetLength(Result, 1);
      Result[0] := i;
    end;
    
    var
      W: TIntArr;
      i : integer;
    begin
      readln(i);
      if i=0 then begin
        W := GetSingleArr(5);
        WriteLn(W[0]);
      end;
      ReadLn;
    end.
    
    Delphi-7
    [Warning] Project6.dpr(25): Variable 'W' might not have been initialized

    Да какого хуя? Динмассив вообще по определению - чисто автоматический тип, как он может не инициализироваться?
    И почему для других типов такая хрень не вылазит?

    TarasB, 18 Июля 2013

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $soobschenie = <<<ZDESDOCUMENT
    Страйкер, бл� �, поправь уже эту е� �аную кодировку и исправь х� �йню, что html-сущности превращаются в <s>элегантные шор</s> в символы. Вот здесь было написано nbsp: "&nbsp;".
    ZDESDOCUMENT;
    
    for ($i = 0; $i <= 9000; $i++)
           mail('[email protected]', 'Fucking Report', $soobschenie);

    Наболело.

    7ion, 07 Апреля 2011

    Комментарии (60)
  10. Си / Говнокод #4236

    +127

    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
    UINT32 GetHostName(char *hostName, UINT32 hostNameBufSize)
    {
            if (hostName == NULL ){
                    OSALTRACE(OSAL_ERROR, ("Error: Input parameter hostName(null)."));
                    return -1;
            }
    
            FILE *fp = NULL;
            static char buffer[512];
            char tag[64];
    
            // hope this size will be OK for one line to read from the fileOB
            char line[1000];
            char *linep=line;
    
            int buffSize = sizeof(buffer);
    
            int found = 0;
    
    
            fp = fopen("/etc/resolv.conf", "r");
    
            if ( fp == NULL)
            {
    
                    OSALTRACE(OSAL_ERROR, ("failed to open resolver config file."));
                    return -1;
            }
    
            while ( ((*linep=getc(fp)) != EOF) && !found )
            {
                    if (*linep++ == '\n')
                    {
                            *linep = '\0';
                            sscanf(line, "%s %s", tag, buffer);
                            if (tag[0] && (!strcmp(tag, "search") || !strcmp(tag, "domain") ) ) {
                                    found = 1;
                                    break;
                            }
                            linep = line;
                    }
            }
    
            fclose(fp);
    
            if ( found )
            {
                    strcpy(hostName,buffer);
                    OSALTRACE(OSAL_DEBUG, ("DHCP domain is  %s.", buffer));
            }
            else
            {
                    OSALTRACE(OSAL_ERROR, ("Could not find dhcp domain in resolv.conf."));
                    return -1;
            }
    
            return !found;
    }

    Intel WiMAX Network Service, не какая-то пионерская поделка...

    raorn, 13 Сентября 2010

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

    +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
    include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто    измените путь  
              $result4 =    mysql_query    ("SELECT avatar FROM    users WHERE activation='0'    AND    UNIX_TIMESTAMP()    - UNIX_TIMESTAMP(date)    > 3600");//извлекаем аватарки тех пользователей, которые в    течении часа не активировали свой аккаунт. Следовательно их надо удалить из    базы, а так же и файлы их аватарок
     if    (mysql_num_rows($result4) > 0) {
                $myrow4    = mysql_fetch_array($result4);  
                do 
                {
    
                //удаляем    аватары в цикле, если они не стандартные
                if    ($myrow4['avatar'] == "avatars/net-avatara.jpg") {$a = "Ничего    не делать";}
                else    {
                         unlink ($myrow4['avatar']);//удаляем    файл
                         }
                }
    
                while($myrow4    = mysql_fetch_array($result4));
                }

    Вот как учат детей программировать там http://ruseller.com/lessons.php?rub=37&id=369

    просто умер от этого while($myrow4 = mysql_fetch_array($result4));

    Vasiliy, 10 Июля 2010

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