Какой файл конфигурации выбрать?

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

  1. Приложению необходимо легко записывать данные в него и также легко считывать.
  2. При открытии файла человеком, данные должны быть легкочитаемы и понятны, даже если файл достаточно большой
  3. Должен существовать простой способ записи человеком в конфигурационный файл, с минимальной возможностью внесения ошибок, независимо от платформы в которой данный файл открыт для редактирования.

Например XML не подходит под данные требования. Он хорошо считывается и можно вести запись в своем приложении. Но например человеку уже не просто разобраться, а редактировать файл так вообще нужно либо в специальном софте, либо есть большая вероятность допустить ошибку.

Я использую CSV. Тоже не идеальный вариант, но он хотя бы позволяет видеть конфигурацию в виде таблицы и его можно отредактировать в любом текстовом редакторе (хотя не очень просто).

А какой файл конфигурации вы используете?


Ответы (1 шт):

Автор решения: eri

ini подходит для структур без вложенности. Вложенность можно нарисовать ссылками на новые структуры. Не очень удобен с массивами.

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

Не рекомендую json из-за кавычек в ключах и потеренных запятых. XML при редактировании не удобен из-за закрывающих тегов.

→ Ссылка