1. C# / Говнокод #732

    +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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    class A{}
    class B:A{}
    class C
    {
    A EA;
    void M(A AA, decimal Key)
    {
    EA=AA;
    EA.Work();
    }
    }
    
    class D
    {
    C EC=new C();
    
    void M()
    {
    EC.M(new A());
    }
    }

    Форматирование сохранено.
    К этому прилагается такой литорический вопрос:
    EC.M(new A());
    Как тут вызвать конструктор B?

    guest, 18 Марта 2009

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

    +1049.9

    1. 1
    OnMouseMoveFunctionalTestVerticalSplitIndicatorExactlyOnTheLeftBorderOfTheFirstCellOnTheTheWeekViewAndGroupByResourceAndTwoResources

    Всего то попросили писать название тестов так, чтобы из названия была понятна суть теста. Вот что вышло:

    guest, 17 Марта 2009

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

    +122.1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    while (true)
                    {
                        try
                        { b = img.ReadByte(); }
                        catch (EndOfStreamException ex)
                        {
                            break;
                        }
                        ba[pos] = b;
                        pos++;
                    }

    Таким образом читают потоки, пользователи anti-captcha.com

    В первый раз увидел, ппц))))))

    guest, 13 Марта 2009

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

    +151

    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
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
     DESCRIBE TABLE name_org LINES count. "Кол-во организаций
      DESCRIBE TABLE targ_pos LINES count1.
      SORT name_org BY org.
    *  SORT targ_pos BY org sign_dk shkzg regn_doc.
      IF count > 2.
        SORT targ_pos BY shkzg org regn_doc.
      ELSE.
        SORT targ_pos BY shkzg org sign_dk regn_doc.
      ENDIF.
      LOOP AT targ_pos.
        metka = sy-tabix.
        IF count > 2.
          CONCATENATE targ_pos-org targ_pos-shkzg INTO comp.
        ELSE.
          CONCATENATE targ_pos-org targ_pos-sign_dk targ_pos-shkzg
                      INTO comp.
        ENDIF.
        IF comp <> comp1.
          IF metka <> 1.
            WRITE: AT /pole sy-uline.
            WRITE: AT /pole 'Итого: '.
            IF s_nds IS NOT INITIAL.
              WRITE: AT (14) snds UNDER targ_pos-nds NO-SIGN INPUT ON."<e1>
            ENDIF.
            WRITE: AT (15) ssum UNDER targ_pos-dmbtr NO-SIGN.
            PERFORM ad_itog USING comp1(10)"targ_pos-org
                                  shkzg
                                  snds
                                  ssum.
            SKIP 1.
          ENDIF.
          IF count > 2.
            READ TABLE name_org WITH KEY org = targ_pos-org BINARY SEARCH.
          ELSE.
            IF metka = 1.
              READ TABLE name_org WITH KEY org = 'ABCDE' BINARY SEARCH.
            ELSE.
              READ TABLE name_org WITH KEY org = targ_pos-org
                   BINARY SEARCH.
            ENDIF.
          ENDIF.
          org = name_org-name.CONDENSE org.
          IF name_org-org NE 'ABCDE'.
            CONCATENATE org '(' name_org-org ')' INTO org SEPARATED BY ''.
          ENDIF.
          IF count > 2 AND metka = 1.
            READ TABLE name_org WITH KEY org = 'ABCDE' BINARY SEARCH.
            CONCATENATE name_org-name '-' org INTO org SEPARATED BY space.
          ENDIF.
          WRITE: AT /pole 'Плательщик:', org. "name_org-name.
          WRITE: AT /pole sy-uline.
          WRITE: AT /pole text-002, ' ' NO-GAP,
                    text-003, ' ' NO-GAP, text-004, ' ' NO-GAP,
                    text-010, ' ' NO-GAP, text-005.
          IF s_nds IS NOT INITIAL. "<e1>
            WRITE:  text-006 RIGHT-JUSTIFIED.
          ELSE.
            WRITE:  '              '.
          ENDIF.
          WRITE:    text-007 RIGHT-JUSTIFIED,
                    ' ' NO-GAP, text-008.
          WRITE: AT /pole sy-uline.
    *      SKIP 1.
          snds = 0.
          ssum = 0.
          IF metka <> 1.
            comp = comp1.
          ENDIF.
        ENDIF.
        WRITE: AT /pole targ_pos-regn_doc HOTSPOT, ' ' NO-GAP,
                 targ_pos-regn_dat, ' ' NO-GAP,
                 targ_pos-acc_sch, ' ' NO-GAP,
                 targ_pos-n_doc(6), ' ' NO-GAP,
                 targ_pos-matkl(27) INPUT ON.
     WRITE: AT (15) targ_pos-dmbtr NO-SIGN, ' ' NO-GAP, targ_pos-hkont.
        HIDE: targ_pos-regn_doc, targ_pos-gjahr.
        shkzg = targ_pos-shkzg.
        if lv_flag is not initial. 
          ADD targ_pos-nds TO snds.
        endif. 
        ADD targ_pos-dmbtr TO ssum.
        IF count > 2.
          CONCATENATE targ_pos-org targ_pos-shkzg INTO comp1.
        ELSE.
          CONCATENATE targ_pos-org targ_pos-sign_dk targ_pos-shkzg
                      INTO comp1.
        ENDIF.
        IF metka = count1.
          WRITE: AT /pole sy-uline.
          WRITE: AT /pole 'Итого: ',
    *             AT (14) snds UNDER targ_pos-nds NO-SIGN INPUT ON,
                 AT (15) ssum UNDER targ_pos-dmbtr NO-SIGN.
          PERFORM ad_itog USING comp1(10)  "targ_pos-org
                                shkzg
                                snds
                                ssum.
        ENDIF.
      ENDLOOP.

    Расширьте, пожалуйста, список доступных языков для говнокода.

    guest, 10 Марта 2009

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

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    foreach (DirectoryInfo dir in dirs.GetDirectories())
                {
                    stream.Write(new byte[] { (byte)NetworkMessage.MakeDir }, 0, 1);//crea\te folder{16}
                    stream.Read(new byte[1],0,  1);
                    stream.Write(BitConverter.GetBytes(Encoding.UTF8.GetBytes(SubFolder.Replace('\\', '/') + dir.Name.Replace('\\', '/')).Length),0,  4);
                    stream.Write(Encoding.UTF8.GetBytes(SubFolder.Replace('\\', '/') + dir.Name.Replace('\\', '/')),0,  Encoding.UTF8.GetBytes(SubFolder.Replace('\\', '/') + dir.Name.Replace('\\', '/')).Length);
                    //send folder name
    
                    stream.Read(new byte[1], 0, 1);//Ok
                }

    Краткость-сестра таланта =)))

    guest, 04 Марта 2009

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

    +148

    1. 1
    2. 2
    3. 3
    do {
        continue;
    } while (false);

    Зациклится или нет?

    guest, 27 Февраля 2009

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

    +107.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
    string status = ProcessData("db1");
                if (status == "ERROR") goto ErrorOccured;
                status = ProcessData("db2");
                if (status == "ERROR") goto ErrorOccured;
                status = ProcessData("db3");
                if (status == "ERROR") goto ErrorOccured;
                if (status == "OK") goto NoError;
    
                ErrorOccured:
                    tran.Rollback();
                    return status;
                NoError:
                    tran.Commit()

    пятница однако... :)

    вот "обнаружил" кодЪ (не забываем, что C#)::

    чем товарищЪ думал, трудно понять...

    guest, 27 Февраля 2009

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

    +118.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    boolean b;
    // ....
    switch (b)
    {
        case true: // ....
        case false: // .....
        default: // (!) тут был код, и он отличался от предыдущих двух пунктов!
    }

    автор кода - какой-то индус. это не копипаст, но смысл передан верно

    guest, 26 Февраля 2009

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

    +144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    for (int i = 0; i < arr.Length; i++)
    {
       for (int j = 0; j < arr[i].Length; j++)
       {
          for (int k = 0; k < arr[i][j].Length; k++)
             Console.Write(arr[i][j][k] + " ");
          Console.Write("\n");
       }
       Console.Write("\n");
    }

    хотя это просто
    вот, господа, пользуйтесь - говнокодец ещё свеженький))

    guest, 19 Февраля 2009

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

    +149

    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
    // для хранения 3 квадратных матриц в одном массиве
                //      5       5 5     5 5 5
                //              5 5     5 5 5
                //                      5 5 5
    
                int[][][] arr = new int [3][][];
                arr[0] = new int[1][];
                arr[0][0] = new int[1] { 5 };
    
                arr[1] = new int[2][];
                arr[1][0] = new int[2] { 5, 5 };
                arr[1][1] = new int[2] { 5, 5 };
    
                arr[2] = new int[3][];
                arr[2][0] = new int[3] { 5, 5, 5 };
                arr[2][1] = new int[3] { 5, 5, 5 };
                arr[2][2] = new int[3] { 5, 5, 5 };

    якобы для хранения трех матриц разных размерностей в одном jagged-массиве
    (на самом деле это не так)

    вопрос: как выглядит код для отображения содержимого данного jagged-массива, например, в консоль?

    guest, 19 Февраля 2009

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