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

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

    +98.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    // Этот говняжный кусочек кода лечит работу козьих шариков.
    for iter := 0 to staticSet.fields.Count - 1 do
      if staticSet.fields[i].IsNull then
        ;
    // Конец говняжного кусочка кода

    Вкратце: staticSet - декоратор (обертка) для ADO Recordset; чтобы синхронизировать обертку и носителя, надо было дернуть любой метод. Автор выбрал R/O property IsNull. Но каков вброс. Комментарии прошу считать частью кода. Если учесть, что плотность комментариев 1 на примерно 60 КБ кода.

    Billy the Kidd, 09 Ноября 2009

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

    +98

    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
    static void CompressFile(string inFilename, 
                                 string outFilename)
        {
    
          FileStream sourceFile = File.OpenRead(inFilename);
          FileStream destFile = File.Create(outFilename);
    
          // Create the Compressed stream
          GZipStream compStream =
            new GZipStream(destFile, CompressionMode.Compress);
    
          // Write the data
          int theByte = sourceFile.ReadByte();
          while (theByte != -1)
          {
            compStream.WriteByte((byte)theByte);
            theByte = sourceFile.ReadByte();
          }
    
          // Clean it up
          sourceFile.Close();
          compStream.Close();
          destFile.Close();
        }

    Пример из книги "Microsoft .NET Framework 2.0 Application Development Foundation", официального пособия для подготовки к экзамену 70-536.
    Угадайте, почему "сжатые" файлы получаются больше несжатых.

    gecko, 02 Ноября 2009

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

    +94

    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
    if (comboBox4.Text == "Да")
     {
             ph[0] = (p11p * ph[0]) / ((p11p * ph[0]) + (p11n * (Convert.ToDouble(1) - ph[0])));
             ph_[1] = ph[0];
    }
    if (comboBox4.Text == "Да напевно")
    {
           str = (p11p * ph[0]) / ((p11p * ph[0]) + (p11n * (Convert.ToDouble(1) - ph[0])));
           str = (str - ph[0]) / 2;
           ph[0] += str;
           ph_[1] = ph[0];
    }
    if (comboBox4.Text == "Нет")
    {
           ph[0] = (ph[0] * (Convert.ToDouble(1) - p11p)) / (Convert.ToDouble(1) - (ph[0] * p11p) - (p11n * (Convert.ToDouble(1) - ph[0])));
           ph_[1] = ph[0];
    }
    if (comboBox4.Text == "Нет напевно")
    {
           str = (ph[0] * (Convert.ToDouble(1) - p11p)) / (Convert.ToDouble(1) - (ph[0] * p11p) - (p11n * (Convert.ToDouble(1) - ph[0])));
           str = (str - ph[0]) / 2;
           ph[0] += str;
           ph_[1] = ph[0];
    }
    if (comboBox4.Text == "Не знаю")
    {
           ph_[1] = ph[0];
    }

    pmalyavkin, 26 Октября 2009

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

    +135.8

    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
    63. 63
    public static string ResultToString(long Result)
            {
                switch (Result)
                {
                    case TRANS2QUIK_SUCCESS:                                //0
                        return "TRANS2QUIK_SUCCESS";
                        break;
                    case TRANS2QUIK_FAILED:                                 //1
                        return "TRANS2QUIK_FAILED";
                        break;
                    case TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND:                //2
                        return "TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND";
                        break;
                    case TRANS2QUIK_DLL_VERSION_NOT_SUPPORTED:              //3
                        return "TRANS2QUIK_DLL_VERSION_NOT_SUPPORTED";
                        break;
                    case TRANS2QUIK_ALREADY_CONNECTED_TO_QUIK:              //4
                        return "TRANS2QUIK_ALREADY_CONNECTED_TO_QUIK";
                        break;
                    case TRANS2QUIK_WRONG_SYNTAX:                           //5
                        return "TRANS2QUIK_WRONG_SYNTAX";
                        break;
                    case TRANS2QUIK_QUIK_NOT_CONNECTED:                     //6
                        return "TRANS2QUIK_QUIK_NOT_CONNECTED";
                        break;
                    case TRANS2QUIK_DLL_NOT_CONNECTED:                      //7
                        return "TRANS2QUIK_DLL_NOT_CONNECTED";
                        break;
                    case TRANS2QUIK_QUIK_CONNECTED:                         //8
                        return "TRANS2QUIK_QUIK_CONNECTED";
                        break;
                    case TRANS2QUIK_QUIK_DISCONNECTED:                      //9
                        return "TRANS2QUIK_QUIK_DISCONNECTED";
                        break;
                    case TRANS2QUIK_DLL_CONNECTED:                          //10
                        return "TRANS2QUIK_DLL_CONNECTED";
                        break;
                    case TRANS2QUIK_DLL_DISCONNECTED:                       //11
                        return "TRANS2QUIK_DLL_DISCONNECTED";
                        break;
                    case TRANS2QUIK_MEMORY_ALLOCATION_ERROR:                //12
                        return "TRANS2QUIK_MEMORY_ALLOCATION_ERROR";
                        break;
                    case TRANS2QUIK_WRONG_CONNECTION_HANDLE:                //13
                        return "TRANS2QUIK_WRONG_CONNECTION_HANDLE";
                        break;
                    case TRANS2QUIK_WRONG_INPUT_PARAMS:                     //14
                        return "TRANS2QUIK_WRONG_INPUT_PARAMS";
                        break;
                    default:
                        return "UNKNOWN_VALUE";
                        break;
                }
            }
            public static string ByteToString(byte[] Str)
            { 
                string s="";
                for (int i = 0; i < Str.Length; i++)
                {
                    s = s + Str[i].ToString();
                }
                return s;
            }

    Лежит в качестве примера на одном из сайтов.
    Ну автору всё равно спасибо, пример и правда полезный (да и код прикольный :)).

    greeny, 23 Октября 2009

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

    +162.9

    1. 1
    <body onLoad="<?if(($page==='1')&&(($level==='F')||($level==='E'))){?>setsuper();<?}?><?if(($page==='12')&&($level=='E')){?>setsuper();<?}?><?if(($page==='16')&&(($level==='E')||($level==='F'))){?>sel0();sel1();sel4();<?}?><?if(($page==='16')&&($level==='C')){?>sel4();<?}?><?if(($page==='25')&&(($level==='E')||($level==='F'))){?>sel0();sel02();<?}?>" >

    Подобное уже когда-то тут было, но наболело...

    whiskeysam, 22 Октября 2009

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

    −109.8

    1. 1
    2. 2
    3. 3
    4. 4
    Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    	ДанныеСтроки.Осталось = ДанныеСтроки.Поступление - СуммаСтроки;
    	Элемент.Колонки.Объем.ТекстПодвала = Товары.Итог("Объем");
    КонецПроцедуры

    Всё тот же Самоделкин. Обработка события при выводе строки.
    Догодайтесь, в чём изюминка этой процедуры?

    Kopchuga, 12 Октября 2009

    Комментарии (12)
  8. PHP / Говнокод #1953

    +160.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function UserIsFriends($u1,$u2)
    {
        $db=new DB();   
        $db->query("SELECT `status` FROM `friends` where `status`='friends' 
        AND (`first`='".$u1."' or `second`='".$u1."') 
        AND (`first`='".$u2."' or `second`='".$u2."')");
        if ($db->num_rows()!=0)$row=$db->next_record();
        if ($row["status"]=="friends") return true; else return false;
    }

    Функция проверки дружбы между двумя людьми... ***дец

    getrix, 11 Октября 2009

    Комментарии (12)
  9. JavaScript / Говнокод #1945

    +188

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <noscript>
    <script language="Javascript">
    alert('Что бы пользоваться всеми возможностями сайта включите JavaScript!');
    </script>
    <noscript>

    Вот такое встретил на одном сайте xD.

    nico-izo, 06 Октября 2009

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

    +161.3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $proc = new XsltProcessor();
    $proc->importStylesheet($xsl);
    $html = $proc->transformToXML($xmlOut);
    
    // Добро пожаловать в реальный мир!
    // Мы не знаем XSLT, поэтому кое-что поправим прямо тут.
    // Да здравствуют регекспы и грязные хаки!
    
    $html = preg_replace("/(<a href=\"\/futures[^>]+>)(.+?)<\/a>/ims","\$2",$html);
    return $html;

    Кусок класса XSLTTransformer.
    Оригинальные комменты и час потраченого времени на поиски неработающих ссылок в xsl-шаблонах.

    VermiVermi, 24 Сентября 2009

    Комментарии (12)
  11. SQL / Говнокод #1878

    −863.7

    1. 1
    2. 2
    3. 3
    Нашёл в проекте
    SELECT DISTINCT sale_date, SUM(sale_price), buyer FROM ... 
    GROUP BY sale_date, buyer;

    DISTINCT здесь лишний

    Oleg_quadro, 21 Сентября 2009

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