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

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if($this->unpriced){
                //...............  строк 30 кода
                if($this->unpriced){
                      //................ строк 10 кода
                }                
    }

    Вот такую забавную проверку нашол в старом коде. Видать, для уверенности, или скорее всего логика менялась.

    Edd, 12 Марта 2012

    Комментарии (13)
  3. Си / Говнокод #9651

    +125

    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 <stdio.h>
    
    #define MAXLINE 1000 /* максимальная длина строки в потоке */
    
    int getline(char line[], int maxline);
    
    main()
    {
        int len; /* длина текущей строки */
        char line[MAXLINE]; /* текущая введённая строка */
    
        while((len = getline(line, MAXLINE)) != (-1))
            printf("%s", line);
            
        system("PAUSE");
        return 0;
    }
    
    /* getline: считывает строку в s, удаляет пробелы и знаки табуляции в конце строки, возвращает её длину. Удаляет полностью пустые строки */
    getline(char s[], int lim)
    {
                 int c, i;
                 
                 for(i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i)
                       s[i] = c;
                 if (c == EOF)
                    return (-1); /* конец ввода */
                 else if (c == '\n') {
                      while(s[i-1] == ' ' || s[i-1] == '\t') /* "удаление" пробелов и знаков табуляции в конце строки */
                         --i;
                      if (i > 0) { /* если строка непустая */
                         s[i] = '\n';
                         ++i;
                      }
                      s[i] = '\0';
                      return i;
                 }
    }

    Задача: убирать в конце каждой строки лишние пробелы и знаки табуляции, удалять полностью пустые строки.
    Решение: при считывании строки вида "abc_____\n" на выходе получаем массив символов "abc\n\0___" (пробелы в конце). Печатаем строки по мере поступления, профит.

    Говнокод или нормально?

    justanothernickname, 12 Марта 2012

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

    +109

    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
    public static bool IsLocalAddress(IPAddress address)
    {
       if (address.ToString() == IPAddress.Loopback.ToString())
       {
          return true;
       }
       foreach (IPAddress address2 in LocalAddresses)
       {
          if (address2.ToString() == address.ToString())
          {
             return true;
          }
       }
       return false;
    }

    Выдрано решарпером из одного коммерческой библиотеки.

    absolut, 02 Марта 2012

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

    +158

    1. 1
    'rule' => '/^[АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯяa-z0-9 ]{1,}$/i'

    Вот такая вот регулярочка...

    imsamurai, 28 Февраля 2012

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

    +163

    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
    60. 60
    61. 61
    62. 62
    $list_addons = array (
                    "411" => "Физ атака + ",
                     "413" => "Физ атака + ",
                     "415" => "Физ атака + ",
                     "476" => "Физ атака + ",
                     "478" => "Физ атака + ",
                     "481" => "Физ атака + ",
                     "753" => "Физ атака + ",
                     "754" => "Физ атака + ",
                     "756" => "Физ атака + ",
                     "755" => "Физ атака + ",
                     "757" => "Физ атака + ",
                     "758" => "Физ атака + ",
                     "759" => "Физ атака + ",
                     "760" => "Физ атака + ",
                     "761" => "Физ атака + ",
                     "762" => "Физ атака + ",
                     "763" => "Физ атака + ",
                     "1009" => "Физ атака + ",
                     "1008" => "Физ атака + ",
                     "1007" => "Физ атака + ",
                     "1006" => "Физ атака + ",
                     "784" => "Физ атака + ",
                     "785" => "Физ атака + ",
                     "786" => "Физ атака + ",
                     "787" => "Физ атака + ",
                     "788" => "Физ атака + ",
                     "789" => "Физ атака + ",
                     "790" => "Физ атака + ",
                     "791" => "Физ атака + ",
                     "792" => "Физ атака + ",
                     "793" => "Физ атака + ",
                     "794" => "Физ атака + ",
                     "994" => "Физ атака + ",
                     "995" => "Физ атака + ",
                     "996" => "Физ атака + ",
                     "997" => "Физ атака + ",
                     "1401" => "Физ атака + ",
                     "1402" => "Физ атака + ",
                     "1403" => "Физ атака + ",
                     "1404" => "Физ атака + ",
                     "1405" => "Физ атака + ",
                     "341" => "Физ атака + ",
                     "342" => "Физ атака + ",
                     "343" => "Физ атака + ",
                     "586" => "Физ атака + ",
                     "848" => "Физ атака + ",
                     "849" => "Физ атака + ",
                     "850" => "Физ атака + ",
                     "852" => "Физ атака + ",
                     "857" => "Физ атака + ",
                     "858" => "Физ атака + ",
                     "859" => "Физ атака + ",
                     "860" => "Физ атака + ",
                     "855" => "Физ атака + ",
                     "1011" => "Физ атака + ",
                     "1010" => "Физ атака + ",
                     "1012" => "Физ атака + ",
                     "1013" => "Физ атака + ",
                     "2020" => "Физ атака + ",
                     "2022 " => "Физ атака + ",
    // Всего в таком виде написано 1208 строк

    Массив значений дополнений, написанный на PHP.
    Наверное, автор потратил несколько часов на написание ЭТОГО.

    MorzE, 27 Февраля 2012

    Комментарии (13)
  7. 1C / Говнокод #9533

    −151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Процедура ВводНаОсновании(ДокОснование) 
        // .....
        ДатаДок=РабочаяДата();
       // .....
    КонецПроцедуры

    Типовая торговля для Украины.
    Зачем то явно указывается рабочая дата. Причём ровно один раз.

    Xbrut, 24 Февраля 2012

    Комментарии (13)
  8. C++ / Говнокод #9518

    +991

    1. 1
    memmove(&*_Dest, &*_First, _Count * sizeof (*_First));

    в библиотеке memory, может я чего-то не понял, но выглядит как операция "подёргивание-2" (&*_Dest)

    Taru4, 23 Февраля 2012

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    // сколько сегодня зарегестрировалось по приглашению
        public function getTodayCount() {
    	$query = self::select("select * from invites where date='" . date("Y.m.d") . "'");
    	return count($query);
        }

    просто нет слов, одни эмоции :)

    CRRaD, 20 Февраля 2012

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

    +962

    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
    for (int i = 0; i < 4; i++)
    {
        if (!UseParam[i])
        {
            switch (i)
            {
                case 0:
                    if (AutoCalc || XtraMessageBox.Show("Неверные показания амперметра " + PS1_DeviceName_A.Text + " " + PS1.Text + "\nИслючить из расчета?", "Проверка показаний", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                    {
                        if (CorrectKm[i] == 0 || CorrectKm[i] == L)
                            I1 = (CorrectValue[i] ?? 0) * 1000;
                        else
                            I1 = GetCorrectElectricValue(CorrectKm[1] ?? 0, "I0_A", row["N"], row["M"]) * 1000;
                        I0_A.ErrorText = PS1_A.ErrorText = "Показание " + PS1_DeviceName_A.Text + " исключено из расчета";
                    }
                    break;
                case 1:
                    if (AutoCalc || XtraMessageBox.Show("Неверные показания вольтметра" + PS1_DeviceName_B.Text + " " + PS1.Text + "\nИслючить из расчета?", "Проверка показаний", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                    {
                        if (CorrectKm[i] == 0 || CorrectKm[i] == L)
                            U1 = (CorrectValue[i] ?? 0) * 1000;
                        else
                            U1 = GetCorrectElectricValue(CorrectKm[0] ?? 0, "U0_A", row["N"], row["M"]) * 1000;
                        U0_A.ErrorText = PS1_B.ErrorText = "Показание " + PS1_DeviceName_B.Text + " исключено из расчета";
                    }
                    break;
                case 2:
                    if (AutoCalc || XtraMessageBox.Show("Неверные показания амперметра" + PS2_DeviceName_A.Text + " " + PS2.Text + "\nИслючить из расчета?", "Проверка показаний", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                    {
                        if (CorrectKm[i] == 0 || CorrectKm[i] == L)
                            I2 = (CorrectValue[i] ?? 0) * 1000;
                        else
                            I2 = GetCorrectElectricValue(CorrectKm[3] ?? 0, "I0_B", row["N"], row["M"]) * 1000;
                        I0_B.ErrorText = PS2_A.ErrorText = "Показание " + PS2_DeviceName_A.Text + " исключено из расчета";
                    }
                    break;
                case 3:
                    if (AutoCalc || XtraMessageBox.Show("Неверные показания вольтметра" + PS2_DeviceName_B.Text + " " + PS2.Text + "\nИслючить из расчета?", "Проверка показаний", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                    {
                        if (CorrectKm[i] == 0 || CorrectKm[i] == L)
                            U2 = (CorrectValue[i] ?? 0) * 1000;
                        else
                            U2 = GetCorrectElectricValue(CorrectKm[2] ?? 0, "U0_B", row["N"], row["M"]) * 1000;
                        U0_B.ErrorText = PS2_B.ErrorText = "Показание " + PS2_DeviceName_B.Text + " исключено из расчета";
                    }
                    break;
            }
        }
    }

    Красота

    invi, 16 Февраля 2012

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

    +164

    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
    /////////////Название ссылок (меню и тд) ////////////////
    $file=str_replace('{text_about}',$sph_messages["text_about"],$file); // О нас
    $file=str_replace('{text_main}',$sph_messages["text_main"],$file); //
    $file=str_replace('{text_news}',$sph_messages["text_news"],$file);
    $file=str_replace('{text_web}',$sph_messages["text_web"],$file);
    $file=str_replace('{text_pog_gorod}',$sph_messages["text_pog_gorod"],$file);
    $file=str_replace('{text_catigor}',$sph_messages["text_catigor"],$file);
    $file=str_replace('{text_logo}',$sph_messages["text_logo"],$file);
    $file=str_replace('{text_searc}',$sph_messages["text_searc"],$file);
    $file=str_replace('{text_img}',$sph_messages["text_img"],$file);
    $file=str_replace('{text_add}',$sph_messages["text_add"],$file);
    $file=str_replace('{text_help}',$sph_messages["text_help"],$file);
    $file=str_replace('{text_search_all}',$sph_messages["text_search_all"],$file);
    $file=str_replace('{text_feedback}',$sph_messages["text_feedback"],$file);
    $file=str_replace('{text_send}',$sph_messages["text_send"],$file);
    $file=str_replace('{text_start}',$sph_messages["text_start"],$file);
    $file=str_replace('{text_reg_mail}',$sph_messages["text_reg_mail"],$file);
    $file=str_replace('{text_kurs}',$sph_messages["text_kurs"],$file);
    $file=str_replace('{text_mail}',$sph_messages["text_mail"],$file);
    $file=str_replace('{text_pass}',$sph_messages["text_pass"],$file);
    $file=str_replace('{text_lang}',$sph_messages["text_lang"],$file);
    $file=str_replace('{text_zapomnit}',$sph_messages["text_zapomnit"],$file);
    $file=str_replace('{text_vhod}',$sph_messages["text_vhod"],$file);
    $file=str_replace('{text_pogoda}',$sph_messages["text_pogoda"],$file);
    $file=str_replace('{text_friend}',$sph_messages["text_friend"],$file);
    $file=str_replace('{text_music}',$sph_messages["text_music"],$file);
    $file=str_replace('{text_foto}',$sph_messages["text_foto"],$file);
    $file=str_replace('{text_video}',$sph_messages["text_video"],$file);
    $file=str_replace('{text_search_ras}',$sph_messages["text_search_ras"],$file);
    $file=str_replace('{text_add_code}',$sph_messages["text_add_code"],$file);
    $file=str_replace('{text_add_des}',$sph_messages["text_add_des"],$file);
    $file=str_replace('{text_add_url}',$sph_messages["text_add_url"],$file);
    $file=str_replace('{text_add_name}',$sph_messages["text_add_name"],$file);
    $file=str_replace('{text_add_ost}',$sph_messages["text_add_ost"],$file);
    $file=str_replace('{text_add_znak}',$sph_messages["text_add_znak"],$file);
    //////////КАТЕГОРИИ////////
    $file=str_replace('{cat}',$sph_messages["cat"],$file);
    $file=str_replace('{cat_all}',$sph_messages["cat_all"],$file);
    $file=str_replace('{cat_avto}',$sph_messages["cat_avto"],$file);
    $file=str_replace('{cat_web}',$sph_messages["cat_web"],$file);
    $file=str_replace('{cat_znakom}',$sph_messages["cat_znakom"],$file);
    $file=str_replace('{cat_games}',$sph_messages["cat_games"],$file);
    $file=str_replace('{cat_komp}',$sph_messages["cat_komp"],$file);
    $file=str_replace('{cat_story}',$sph_messages["cat_story"],$file);
    $file=str_replace('{cat_soft}',$sph_messages["cat_soft"],$file);
    $file=str_replace('{cat_music}',$sph_messages["cat_music"],$file);
    $file=str_replace('{cat_sport}',$sph_messages["cat_sport"],$file);
    $file=str_replace('{cat_dom}',$sph_messages["cat_dom"],$file);
    $file=str_replace('{cat_business}',$sph_messages["cat_business"],$file);
    $file=str_replace('{cat_zarabotok}',$sph_messages["cat_zarabotok"],$file);
    и так еще over9000 cтрок

    мои глаза...

    TBoolean, 10 Февраля 2012

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