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

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public string ValidationTitle
    {
        get { return this.Title; }
        set { }
    }

    Запостил: ArtemASP, 03 Марта 2014

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

    • Где тут C++ ?
      Ответить
    • Обратная совместимость?
      Ответить
      • возможно что интерфейс такой задан... и заимплеменчен... другое дело, зачем
        Ответить
    • говно в пустом сеттере, как минимум.
      Ответить
      • А как шарп ведёт себя в таком случае? Позволяет присвоить свойству значение, но игнорирует его?
        Ответить
        • Да.
          Ответить
        • Никто никого не игнорирует, будет произведен вызов аксесора set, в него передастся value, неявный входной параметр аксесора set, но так как тело пустое просто ничего не произойдет.
          Ответить
      • Почему же говно? Может быть, по условию задачи требуется свойство только для чтения. Или по канону в этом случае сеттер должен бросать исключение?
        Ответить
        • Убрать сеттер к ебеням и будет нормальный ридонли. А вот если интерфейс нужно поддерживать, то лучше уж с исключением.
          Ответить
          • >public string ValidationTitle
            на интефейс не похоже. В шарпике override надо писать
            Ответить
            • > В шарпике override надо писать
              путаешь интерфейс с базовым классом.
              http://ideone.com/T67I3v
              Ответить
          • Если это в LINQ to SQL (Entity), как partial класс (не помню как маппер называется).
            Или код из WCF (DataContractSerializer), то пустой сеттер просто нужен. Иначе рантайм исключение из дебрей .NET'а...

            Для красоты можно его спрятать в private set {}.
            Ответить
        • > Может быть, по условию задачи требуется свойство только для чтения.
          Зловонная кучка скрывается в том, что для стороннего разработчика свойство выглядит публичным. И он сильно удивится, когда простое изменение перерастет в карнавал с рефлексией.
          Ответить
    • такой себе readonly
      Ответить
    • Помню, коллега рассказывал про не менее забавный индусский
      public bool Updated
      {
          get { this._updated = true; }
      }
      Ответить

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