Си диез / Говнокод #22055 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
public string GetValue(string value)
    {
        var displayOptions = (DisplayOptions)ViewBag.Options;
        var defaultCulture = ContentHelper.GetDefaultCulture();
        var currentCulture = UserHelper.GetSessionCulture() ?? defaultCulture;

        var domainValue = Model.Domain.Values.FirstOrDefault(v => v.Value.ToLower() == value.ToLower());

        var text = domainValue == null ? value : (domainValue?.Translations.Where(t => currentCulture.Equals(t.Culture)).Select(t => t.Text).FirstOrDefault() ?? domainValue.Text);
        var result = text;

        if (!string.IsNullOrEmpty(Model.Domain.DisplayPrefix))
        {
            result = string.Format("{0} {1}", Model.Domain.DisplayPrefix, text);
        }

        if (!string.IsNullOrEmpty(Model.Domain.DisplayPrefix) && !string.IsNullOrEmpty(Model.Domain.DisplaySuffix))
        {
            result = string.Format("{0} {1} {2}", Model.Domain.DisplayPrefix, text, Model.Domain.DisplaySuffix);
        }

        if (!string.IsNullOrEmpty(Model.Domain.DisplaySuffix))
        {
            result = string.Format("{0} {1} {2}", Model.Domain.DisplayPrefix, text, Model.Domain.DisplaySuffix);
        }

        return String.Format("{0}{1}{2}{3}"
            , displayOptions.StartTag != null && displayOptions.EndTag != null ? (displayOptions.StartTag ?? string.Empty) : string.Empty
            , displayOptions.ShowDomainAlternative ? @Html.DisplayForDomainAlternative(domainValue) : new MvcHtmlString(string.Empty)
            , displayOptions.ShowDomainText ? result : string.Empty
            , displayOptions.StartTag != null && displayOptions.EndTag != null ? (displayOptions.EndTag ?? string.Empty) : string.Empty);
    }

Так безжалостно получали result чтобы в конце заменить его на пустую сроку. Не говоря уже про общее построение метода и как себя ненавидел автор, добавляя еще одну строку кода в String.Format.

Запостил: pipjaka pipjaka, (Updated )

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

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8