Мысли об удобстве

Возникала мысль создать набор макросов для повышения удобства написания кода и выдирания параметров.

Дело в том, что каждый объект имеет некоторый формат данных, которые он умеет читать из конфигурационных файлов. например картинка умеет читать название загрузчика и имя файла который надо загрузить, текстовый объект умеет читать цвет текста, шрифт, его размер и сам текст. На данный момент это реализовано прямым кодом. Есть у объекта некий метод load который вычитывает все эти параметры. Минусы очевидны — нет простого способа получить список параметров для документации и каждый раз надо писать похожий код.

Надо сделать чтото типа макросов: REGISTER_CONFIG_VARIABLE(type, name, optional, default value). Как вариант сделать это в отдельном классе, который вместить во все классы объектов, чтобы небыло лишнего внешнего интерфейса и далее писать:

CREATE_CONFIG_PARSER(TextObject)

REGISTER_CONFIG_VARIABLE(type, name, optional, default value)

При этом препроцессором надо будет создать класс и функцию которые будут обслуживать данный набор переменных. Надо подумать над этой идеей.


2 Responses to Мысли об удобстве

  1. Avatar Hyborg
    Hyborg says:

    Может лучше написать кодогенератор, который по мета-описанию (xml) создаёт базовые классы?

  2. Avatar admin
    admin says:

    Хм. интересная идея — надо подумать, вообще идейка интересная. Если действительно сгенерить набор класов-хранилищ, умеющих себя читать и от них унаследовать класы, которые умеют работать с этими данными.