среда, 27 ноября 2013 г.

Ссылка. "Декорирование элементов перечисления"

Ссылка. "Декорирование элементов перечисления"

Прочитал тут ссылку:

http://blogs.embarcadero.com/nikolay/2013/11/25/scopedenumeration/

Прикольно. В плане "синтаксического сахара".

Непонятно только - зачем понадобился helper. Почему просто определение констант не подошло?

Да и ничего "изящного" - я не вижу. Я РЕАЛЬНО не понимаю ЧЕМ - TMyType.Three СИЛЬНО лучше, чем mtThree.

РЕАЛЬНО не понимаю. Может быть мне дураку кто-нибудь объяснит?

Нет! ВОЗМОЖНОСТЬ - это - ХОРОШО, но это не значит, что надо "бросаться пользоваться этой возможностью".

А ещё можно всё то же самое с модели сгенерировать. Один раз поправив шаблоны генерации. 

7 комментариев:

  1. Добрый вечер,

    Если я правильно понял "определение констант", то это предполагает создание констант вида:

    const
    alClient = TAlignLayout.Client

    , то каким способом переопределение констант подойдет для следующей ситуации, когда пользователь использует значение с указанием типа:

    Align := TAlignLayout.alClient

    Спасибо

    ОтветитьУдалить
    Ответы
    1. А зачем такое "усложнение жизни", если автор говорит о "рефакторинге"?

      Удалить
    2. Собственно говоря мой вопрос выше был о другом, а не о рефакторинге :)

      Удалить
    3. Ещё раз. Считаю использование Align := TAlignLayout.alClient - НЕСУСВЕТНОЙ ГЛУПОСТЬЮ. ОСОБЕННО в контексте рефакторинга. На что собственно и "напирает" автор.

      Вот блин люди! Придумали - "прелестную вещицу" и давай восхищаться. Непонятно зачем.

      Удалить
    4. Еще раз. Видимо вы не хотите прочитать мой вопрос или не можете, поэтому пытаетесь мне доказать то, что в моем вопросе не было.

      Удалить
    5. quote:
      Я сказал всё, что хотел сказать, что я могу сказать ещё?
      Всё, что я хочу, это чтобы всем было хорошо.
      И кто-то плюнет мне в спину, и кто-то помашет рукой,
      И кто-то назовёт меня негодяем, но кто-то назовёт "звездой".
      Зовите меня, как вам угодно, я всё равно останусь собой"

      М. Науменко

      Удалить
  2. http://blogs.embarcadero.com/nikolay/2013/11/25/scopedenumeration/#comment-13

    ОтветитьУдалить