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

    +112.5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public void Log(string pSource, string pMessage, EventLogEntryType pEntryType) {
        try {
            if (!EventLog.SourceExists(pSource)) {
                EventLog.CreateEventSource(pSource, "Application");
            }
    
            EventLog.WriteEntry(pSource, pMessage, pEntryType);
        }
        catch (Exception _ex) {
            Log("", _ex.ToString(), EventLogEntryType.Error);
        }
    }

    Пишем в лог - постоянно...
    Автор находки: http://ayende.com/Blog/archive/2009/03/19/how-not-to-write-a-logger.aspx

    guest, 27 Марта 2009

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

    +135.9

    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
    String[] days = new String[7];
    for( int i = 0; i < 7; i++ ) {
      switch(i) {
        default:
        case 0:
          days[i] = "Monday";
          break;
        case 1:
          days[i] = "Tuesday";
          break;
        case 2:
          days[i] = "Wednesday";
          break;
        case 3:
          days[i] = "Thursday";
          break;
        case 4:
          days[i] = "Friday";
          break;
        case 5:
          days[i] = "Saturday";
          break;
        case 6:
          days[i] = "Sunday";
          break;
      }
    }

    Боян, наверное, но все-таки...

    guest, 24 Марта 2009

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

    +119

    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
    private string StripDuplicateSpaces(string data)
        {
            bool flag = false;
            do
            {
                if (data.IndexOf("  ") != -1)
                {
                    data = data.Replace("  ", " ");
                }
            }
            while (!flag);
            return data.Trim();
        }
    
        private string TrimNewLines(string s)
        {
            return s;
        }

    за это ещё и денег просят :)

    guest, 19 Марта 2009

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

    +150

    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
    [Serializable]
        public class Key
        {
            public Key(long id, string code)
            {
                m_Id = id;
                m_Code = code;
            }
    
            public Key(long id) : this(id, null)
            {
            }
    
            public Key(string code) : this(0, code)
            {
            }
    
            public Key() : this(0, null)
            {
            }
    
            public long getId()
            {
                return (m_Id);
            }
    
            public long m_Id;
    
            public string getCode()
            {
                return (m_Code);
            }
    
            public string m_Code;
    
            public static string ToString(Key k)
            {
                return ((k == null) ? "(null)" : k.ToString());
            }
        }

    guest, 18 Марта 2009

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

    +150

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public const char ExpMonthSeparator = ':';
    
    
    protected void BindPager()
    {
       var colon = string.Format("{0}", ExpMonthSeparator);
       /* And some lines for refactor */
    }

    Фикся очередную багу наткнулся на такую прелесть

    guest, 18 Марта 2009

    Комментарии (1)
  6. 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)
  7. C# / Говнокод #725

    +1049.9

    1. 1
    OnMouseMoveFunctionalTestVerticalSplitIndicatorExactlyOnTheLeftBorderOfTheFirstCellOnTheTheWeekViewAndGroupByResourceAndTwoResources

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

    guest, 17 Марта 2009

    Комментарии (16)
  8. 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)
  9. 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)
  10. 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)