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

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    static void Initialize()
            {
                if (Manager.Current == null)
                {
                    new Manager();
                }
            }

    человек изобрел новый тип singleton, instance которого выставляется при вызове конструктора его типа. Если вызвать два раза - второй перекроет первый. Тип public, конструктор тоже public

    Запостил: eval_2009, 05 Января 2011

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

    • "безумству храбрых поём мы песни"
      Ответить
    • разве не должно быть
      if (Manager.Current == null)
                  {
                      Manager.Current = new Manager();
                  }

      ?
      Ответить
    • фейк
      Ответить
      • Вы не верите в сказочных идиотов?
        Ответить
        • а Вы?
          Ответить
          • Я думаю просто человек не добил код в свое время, а потом забыл

            Также вполне возможно что конструктор Manager() присваивает
            root.Manager.Current = this; а в этом случае это уже говноструктура, а не код
            Ответить
            • Именно так
              public abstract class Manager : IStatusNotifier, ICloneable
              
               public Manager()
                      {
                          Current = this;
                      }


              На мой взгляд говноструктура от говнокода неотделима - одно ведет к другому
              Ответить
        • Manager.Current всегда будет null, потому что при инициализации этой переменной значение не присваивается.
          Ответить

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