Конфигурационные файлы «Тэбс»

24 февраля 2008 года, 11:39

Конфигурационные файлы являются важной частью программы. Некоторые конфигурационные файлы очень легко составлять и легко поддерживать в будущем; другие отпугивают же своим видом раз и навсегда (вспомните конфигурационные файлы sendmail).

Сегодня мы попробуем разобраться в конфигурабилити файлов, которые отвечают за настройку тех или иных частей системы.

Что к чему

Из названия «Тэбс» видно, что-к-чему будет в наших конфигурационных файлах. А именно, разделителями у нас будет являться символ табуляции, который уже довольно часто используется в различном программном обеспечении (не могу не упомянуть файлы программы Make и синтаксис языка Python, основанные в некотором роде на табулятивном разделении). Похожие конфигурационные файлы, помимо всего прочего, уже применялись в Ruby.

Начнём с примера такого файла.

#Комментарии как в Makefile или других подобных конфигурационных файлах #Такой комментарий удобен, так как его синтаксическая часть состоит лишь из одного символа #Помимо этого, возникает идея об использовании ´/´ в качестве символа, определяющего комментария #Настройки сервера server host = localhost alias = example.com admin = webmaster@example.com #Настройки кодировки и языка language encoding = UTF-8 accept = ru en uk au #Настройки подключений connection max = 255 keep = true #Настройки другого сервера server #...

Преимущества

Сразу бросается в глаза его иерархическая структура, разделённая символами табуляции. Каждый уровень отделён друг от друга визуально, что помогает лучше воспринимать такой конфигурационный файл, причём, вложенность уровней иерархии может быть довольно неограниченной.

Помимо этого, его достаточно легко обрабатывать на каком-либо языке программирования для создания разного рода структур. Например, можно его обработать таким образом, чтобы он был ассоциативным массивом, где каждый уровень является определённым элементом масисва, либо, чтобы он был обычным деревом.

Перед INI-файлами есть явные преимущества: возможность неограниченной вложенности настроек, визуальное отделение настроек друг от друга и визуальное обобщение категорий и типов настроек.

Перед XML-файлами также существует по-крайней мере одно преимущество: служебная информация занимает много меньше объёма. То есть, если в XML-файле у нас используются теги для отделения иерархии и её компонентов, тогда как здесь используется лишь один служебный символ: символ табуляции.

Недостатки

Из минусов можно заметить некоторую сложность представления однотипных элементов и хранение больших данных в таких конфигурационных файлов

А в целом же, решать, какие конфигурационные файлы использовать, вам, дорогие коллеги.

Мнения (0)

Все эти хорошие люди уже прокомментировали запись. Поделитесь собственным мнением, расскажите, что вы думаете о поставленной проблеме, задаче, озвученных мыслях.

Не оставлено никаких мыслей к статье. Не желаете ли?

Я тоже знаю!

Для обращения к человеку используйте символ @, после которого следует имя того, к кому обращаетесь (пробелы заменяются на знак подчёркивания). Если вам интересно, можете подписаться на комментарии по RSS или по эл. почте. Ведите себя достойно, вы же не роботы, правда?

Вы можете использовать следующие XHTML-элементы в разметке комментария: strong, em, span[class=crossline], a[href=uri], code[type=язык], blockquote, ul и ol. В качестве языка кода может быть указан, например, javascript или css.