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

    +89.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
    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
    private void ProcessActionsLookup(object sender)
            {
                LookUpEdit lookUpEdit = sender as LookUpEdit;
                if (lookUpEdit != null)
                {
                    if (lookUpEdit.EditValue != null)
                    {
                        if (lookUpEdit.EditValue.Equals(currentActionLookupValue))
                        {
                            if (actionsGridControlBindingSource.Current != null &&
                                !_presenter.ActionHasProperParameters(actionsGridView.FocusedRowHandle))
                            {
                                SetDataSourceForInnerGrid(sender);
                            }
                        }
                        else
                        {
                            SetDataSourceForInnerGrid(sender);
                        }
                    }
                    else
                    {
                        SetDataSourceForInnerGrid(sender);
                    }
                }
            }

    Мы пойдем другим путем.
    Некоторые скажут что в представленном контексте абсолютно нормальный код, я все же не соглашусь

    Запостил: codeposter, 03 Декабря 2009

    Комментарии (9) RSS

    • +1
      Ответить
    • А что один длинный иф выглядел бы лучше?
      Ответить
      • тут походу хватит этого
        if (lookUpEdit != null)
        SetDataSourceForInnerGrid(sender)
        И никаких длинных ифов
        Ответить
        • а вот эта проверка?
          if (actionsGridControlBindingSource.Current != null &&
          !_presenter.ActionHasProperParameters(ac tionsGridView.FocusedRowHandle))
          Ответить
    • Можно сократить до двух условий, но в любом случае, тут все читаемо, ясно и понятно. Лучше чем строка в три сотри символов с тернарными операторами тройной вложенности )

      Не говнокод.
      Ответить
    • Доброго времени суток )
      Я с гордостью признаю себя автором этого говнокода
      Когда с утра увидел своё творение на говнокоде в приступе ярости чуть не убил двух джуниоров которые это запостили (хорошо они сказали что это были не они)
      Код рабочий и был написан в спешке (не прощает конечно )) )
      Возможно стоит сократить if до следующего
      if (lookUpEdit != null)
      {
      if (lookUpEdit != null)
      {
      if (!(lookUpEdit.EditValue != null && lookUpEdit.EditValue.Equals(currentActio nLookupValue)) ||
      (actionsGridControlBindingSource.Current != null &&
      !_presenter.ActionHasProperParameters(ac tionsGridView.FocusedRowHandle)))
      {
      SetDataSourceForInnerGrid(sender);
      }
      }
      }

      Какой if красивее, решать вам ;)
      Ответить
      • Один лишний
        if (lookUpEdit != null)
        {
        )))
        Ответить
      • Угу, сократи, то, что получится неэквивалентный код - пофиг :)) Джуниоры были правы :))
        Ответить
    • Если не шарите - не пишите тут всякий бред. То что там куча ифов - это просто плохо, но то, что там вызывается один и тот метод - это говнокод.
      Ответить

    Добавить комментарий