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

    +108.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
    ...
    IEnumerable<Status> Statuses;
    
    public Status GetCurrentStatus1() {
      var e = Statuses.GetEnumerator();
      e.MoveNext();
      return e.Current;
    }
    
    public Status GetCurrentStatus2() {
      foreach (var e in Statuses)
        return e;
      return null;
    }
    
    public Status GetCurrentStatus3() {
      return Statuses.FirstOrDefault();
    }

    Возник вопрос - что больший говнокод? Или есть вариант лучше? (3 вариант хорош, но только когда .NET 3 есть)

    guest, 01 Февраля 2009

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

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private event EventHandler<EventArgs> _DataChanged;
    
    public event EventHandler<EventArgs> DataChanged
    {
        add { _DataChanged = value; }
        remove { _DataChanged = null; }
    }

    guest, 27 Января 2009

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

    −14

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    uint i;
    …
    if (i.ToString().Length == 1)
    {
      ...
    }

    Не сразу можно понять, что в этом коде просто-напросто выполняется проверка i < 10. Алгоритм достаточно прост: выполняется преобразование i в строку, после чего вычисляется ее длина. Если число больше 9, то его десятичная запись содержит больше одного символа. Отрицательные числа переменная типа uint содержать не может. Проверку проходят лишь числа от 0 до 9.

    Алгоритм ресурсоемок, неочевиден и не поддается сопровождению даже теоретически.
    взято с lurkmore.ru, там вообще много про "индусский код"

    guest, 26 Января 2009

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

    −13

    1. 1
    2. 2
    string emptyString = "";
    int? emptyInt = 0;

    guest, 21 Января 2009

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

    −13.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    decimal QuantityOut = TehnoMap.Table["Брутто"].ToDecimal() * productionQuantity / TehnoMap["Норма закладки"].ToDecimal();
    
    				string separator = NumberFormatInfo.InvariantInfo.NumberDecimalSeparator;
    				string quantityString = QuantityOut.ToString(NumberFormatInfo.InvariantInfo);
    				if (quantityString.Contains(separator) && quantityString.IndexOf(separator) + 4 < quantityString.Length)
    				{
    					quantityString = quantityString.Remove(quantityString.IndexOf(separator) + 4);
    					QuantityOut = decimal.Parse(quantityString, NumberFormatInfo.InvariantInfo);
    				}

    Нужно было в дроби оставить первые 3 знака после запятой

    guest, 21 Января 2009

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

    −12.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    /*
        При подписке на комментарии по RSS, в приходящем комментарии приходит ссылка
        на него же на сайте, но она не правильная и во всей "теме" одинаковая.
    
        Пример (подписан #413), ссылка: http://govnokod.ru/2637#comment1094
    */

    guest, 19 Января 2009

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

    +24

    1. 1
    2. 2
    if(SelectedNode!=null)
    SelectedNode.Select ();

    чтоб уж наверняка..

    guest, 19 Января 2009

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

    +11.2

    1. 1
    2. 2
    3. 3
    Сделайте пожалуйста в RSS полный вариант кода,
    а то обрезается и приходится лезть на сайт, а это не удобно.
    Спасибо.

    Простите, не нашел формы обратной связи, поэтому пишу тут.

    guest, 16 Января 2009

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

    −14.2

    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
    public static float FactorPaint {
                get {
                    float Factor = 1;
                    Factor = (float)((Width - SpaceHorizontal - SpaceHorizontalRight) / m_MaxX);
                    if (m_MaxY * Factor > (m_HeightScreen - SpaceVertical - SpaceVerticalTop))
                        Factor = (float)((m_HeightScreen - SpaceVertical - SpaceVerticalTop) / m_MaxY);
                    m_Factor = Factor;
                    return (float)m_Factor;
                }
                set {
                    m_Factor = value;
                }
            }

    Изменение поля в геттере. Злая шутка для любителей подебажить. Слов нет... только ненависть.

    guest, 16 Января 2009

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

    −15.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    graphics.DrawString(i.ToString(),
        ScaleFont,
        brush,
        LeftField - _arrowHeight - ScaleFont.Size * (i.ToString().Length / 1.2F),
        (Height - BottomField) - i * ScaleY * _gridStep - ScaleFont.Height / 2);

    Вычисление размера строки, вместо Graphics.MeasureString

    guest, 13 Января 2009

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