LINUX.ORG.RU

С какими форматами конфигурационных файлов вам приятно работать как пользователю?

 


0

2

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

Опрос в контексте использования готового ПО, а не разработки.

  1. INI330 (57%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. JSON215 (37%)

    ****************************************************************************************************************************************************************************************************************

  3. YAML212 (37%)

    *************************************************************************************************************************************************************************************************************

  4. TOML102 (18%)

    **************************************************************************************************

  5. XML86 (15%)

    ***********************************************************************************

  6. Самописные65 (11%)

    ***************************************************************

  7. Никаких конфигов, только UI!48 (8%)

    **********************************************

  8. Для этого должны быть CLI утилиты42 (7%)

    ****************************************

  9. Свой вариант (укажите в комментариях)27 (5%)

    **************************

  10. Реестр Windows21 (4%)

    ********************

  11. SQLite (и другие embedded DB)20 (3%)

    *******************

  12. Специализированные библиотеки (libConfuse, libconfig, etc)19 (3%)

    ******************

Всего голосов: 1187, всего проголосовавших: 575

>>> Проголосовать

★★

Проверено: Satori ()

Ответ на: комментарий от hobbit

XML просто надо уметь готовить.

Похоже, не умеет никто :)

question4 ★★★★★ ()
Ответ на: комментарий от filosofia

Как люди пользуются json без комментариев в качестве конфига я так и не понял.

Имена параметров должны хорошо отражать их предназначение :)

question4 ★★★★★ ()
Ответ на: комментарий от mittorn

Как с xml может быть удобно работать?

Отформатировать его пробелами, чтобы стал как YAML, например.

Разумеется, при большом уровне вложенности это сложно.

question4 ★★★★★ ()
Ответ на: комментарий от X512

YAML Ни разу его не видел. Где он вообще применяется?

Docker, Kubernetes и прочее. Лично я им пользовался для модов к OpenXcom.

question4 ★★★★★ ()
Ответ на: комментарий от question4

Да я к тому что ни с точки зрения чтения он не удобен, ни для программиста. Для программиста удобен в редких случаях когда нужно что-то вроде DOM, а так его entity tree просто перегружен всяким лишним

mittorn ★★★★★ ()
Ответ на: комментарий от Pravorskyi

добавить ссылки прямо в пункт опроса

Не уверен, что будет работать. Экспериментировать над уже подтверждённым — не очень идея.

hobbit ★★★★★ ()
Ответ на: комментарий от torvn77

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

Чеканная формулировка!

hobbit ★★★★★ ()
Ответ на: комментарий от t184256

No — это ключевое слово типа false что ли? False в качестве ключа тоже нельзя?

В любом случае

“NO”: Norway

Должно прокатить.

filosofia ()
Ответ на: комментарий от question4

Как люди пользуются json без комментариев в качестве конфига я так и не понял.

Имена параметров должны хорошо отражать их предназначение :)

К сожалению, имена параметров не всегда могут отражать варианты возможных значений параметра.

captain_cat ()
Ответ на: комментарий от mord0d

Да всем наплевать с чем ты работаешь и чего избегаешь. Просто говорю что размер для XML вообще не проблема. Проблема - сам XML.

slovazap ★★★★★ ()
Ответ на: комментарий от pfg

Да, мне проще изобрести формат и написать парсер к нему, чем возиться с bloated XML. Ну или если нужно быстро, то взять JSON и не париться — парсеров к каждому языку валом.

mord0d ★★★★★ ()
Ответ на: комментарий от slovazap

Да всем наплевать с чем ты работаешь

А этот опрос — твоя галлюцинация, или моя? ☺

Проблема - сам XML.

Вот тут да, полностью согласен.

mord0d ★★★★★ ()
Ответ на: комментарий от mord0d

создавать необходимый инструмент прям по месту вещчъ самая лучшая. пока ентих узкозаточенных инструментов не становится слишком дофиха и поддерживать их тяжковато… а когда приходится сращивать немного отличающиеся форматы в одну хрень…
и появляется сделать «вещчъ один, но универсальный» хотя и не идеальный в плане отдельных прикладных функций.
краткая предыстория множества стандартизированных форматов, стуктур и протоколов, начиная с диаметра ствола ручного оружия :)

pfg ★★★★★ ()

INI и TOML - это не одно и тоже? Ну собственно их и выбрал, плюс cli утилиты.

Kolins ()
Ответ на: комментарий от hobbit

Чеканная формулировка!

Ты только в экстазе про первую часть фразы не забудь, GUI тоже полезная часть жизни, особенно если надо расставить кучу бинарных переменных(чекбоксов)

torvn77 ★★★★★ ()
Ответ на: комментарий от pfg

Про универсальность не согласен. Возьми какой-нибудь Ansible и сделай его на каком-нибудь универсальном формате конфигов. Ой!

mord0d ★★★★★ ()
Ответ на: комментарий от Pinkbyte

XML при размере сложнее пары десяткой полей превращается в адский ад для ручного разбора

Подтверждаю

INI - это прошлый век, но для простых случаев(или когда его использует более высокоуровневая прослойка, например QSettings) - пойдет.

Для хранения свойств своих Qt-программ выбрал именно его. На GNU / Linux смотрится не очень, зато просто и знакомо всем.

xwicked ★★ ()
Ответ на: комментарий от question4

Имена параметров должны хорошо отражать их предназначение :)

Иногда, поменяв значение параметра, хочется прокомментировать почему и нафига оно такое. Чтобы заглянув в конфиг год спустя не задаваться вопросом «ШЗХ?».

apt_install_lrzsz ()
Ответ на: комментарий от Pinkbyte

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

tz4678 ★★ ()

Проголосовал за самописные. Буквально вчера думал, какой у туцыищфе грамотный,удобный и интуитивно понятный конфиг, вот бы у всех было так же. Это консольный rss ридер, если что.

Dog ()

YAML лучший

YAML не самое хорошее что бывает, но остальные хуже.

Camel ★★★★★ ()
Ответ на: комментарий от darkenshvein

INI неудобен для иерархических конфигов с несколькими уровнями вложенности. БД, впрочем, тоже.

Хотя в том же JSON/YAML/libConfuse такой конфиг может поместиться в пределах 1-2 экранов, даже не теряя в читабельности.

Pravorskyi ★★ ()
Ответ на: комментарий от Pravorskyi

Встречал в дикой природе десктопные приложения, которые хранили свои конфиги во встраиваемых БД (реляционных или key-value). Для мобильных приложений хранить свои настройки в базе данных - вовсе не редкость. ¯_(ツ)_/¯

ISPManager 5 / ISPManager 6 хранят основные настройки в sqlite-базе. А это уже серверное приложение. Так что по разному бывает, не едиными мобилами и десктопами…

lucentcode ★★★★★ ()
Ответ на: комментарий от Dog

Если хочешь чтобы твоей тулзой кто-то пользовался, то делай конфиги на yaml. У большинства современных утилит (кубер, докер) он используется.

tz4678 ★★ ()
Ответ на: комментарий от tz4678

Я таким не пользуюсь, мне скорее кажется, что все на json повернулись.

Dog ()
Ответ на: комментарий от X512

Ни разу его не видел. Где он вообще применяется?

Очень широко применяется в CI, в Java той же.

EXL ★★★★★ ()
Ответ на: комментарий от Pravorskyi

INI неудобен для иерархических конфигов с несколькими уровнями вложенности.

Почему? Я так пользуюсь

[aaa\bb\ccc]
dd=fff
ee=ggg
[vvv\bbb]
nbnb="adas asdsa"
mm=123

парсится штатной ф-цией

Psilocybe ()
Ответ на: комментарий от tz4678

Если отступы везде консистентно пробелами делать - никаких проблем. Проблема как раз в том, что фанаты пробелов хреначат их чаще всего как бог на душу положит. Где-то по 2, где-то по 3 - «ачотакова, понятно же что это одинарный отступ?». С tab ты либо делаешь один отступ, либо два - и это сразу будет видно. Сделать полтора отступа случайно у тебя физически не выйдет. Плюс регулируемая(в нормальных редакторах) длина табуляции - как кому больше нравится(кто-то любит по tab по 2 символа, кто-то - по 4).

Нет, если одинарный отступ в проекте эквивалентен одному пробелу, то очевидно что использовать табы или пробелы - спор бессмысленный. Но обычно отступы бывают побольше...

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

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от X512

Я встречал, когда нужно было Travis CI к гитхабу прикрутить, там всё настраивается через travis.yml.

hobbit ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Мне тоже много приходилось работать с XML, и я даже был его энтузиастом и евангелистом. В своё время, перевел пару книг об XML и XSLT.

Но со временем пришёл к выводу, что это формат не для человеческих глаз.

И да, для того, чтобы открыть его со сворачиванием и подсветкой, его надо открыть в специальном редакторе. Такая роскошь не всегда доступна (например, что-то отлаживаем или меняем на живую нитку на удалённом сервере по ssh). В этой ситуации вообще туши свет, а они встречаются гораздо чаще, чем хотелось бы.

emorozov ()
Ответ на: комментарий от Pravorskyi

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

Тогда твой опрос вдвойне чушь! Ну какие либы? Какие хмли??? Юзер - это адекватный чел, который максимум что может - чекнуть чекбокс (и то если понимает назначение полей конфига - не всегда это так).

matumba ★★★★★ ()
Ответ на: комментарий от Pinkbyte

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

Вот именно! Из-за идиотов, которые в 21 веке экономят 3 байта на табах, в файлы пролазят такие вот «кракозябры»! А были бы везде пробелы, проблем бы не знали. Тем более табы не нужны в сорсах - там сплошь и рядом ситуации, когда начало строки не укладывается в «табулированную» логику. К чёрту этих экономов, ставьте спэйсы!

matumba ★★★★★ ()
Последнее исправление: matumba (всего исправлений: 1)
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)