Обложка канала

Android Good Reads

2600 @droidgr

Самые интересные статьи, видео и новости, связанные с Android разработкой. Не больше трёх материалов в день.

Android Good Reads

3 года назад
Открыть в
Почему yaml – плохой формат Скорее всего, до вас долетали обрывки споров про то, насколько хорошая идея использовать yaml для различных конфигов. Все сводится к тому, что спецификация Yaml на порядок сложнее, чем JSON. Например, спека предусматривает 63 разных способа объявления multiline строк. Кроме того, она еще и значительно меняется от версии к версии. Вот несколько примеров непредсказуемого поведения YAML конфигов: *️⃣`- 22:22` в зависимости от версии парсера может быть прочитана как строка, а может – как число 1342. *️⃣Некоторые символы считываются как строки, а некоторые оказываются зарезервированы под что-то еще. Например, - *.png – невалидный сниппет, так как * зарезервирована. А - !.git будет считан, как пустая строка. *️⃣Если где-то в конфиге встретится строчка - no, она будет интерпретирована как false, а не как строка. У этого поведения есть даже свое имя – Norway problem, так как региональный код Норвегии, который часто можно встретить в таких конфигах, тоже no. Ах да, так ведет себя только самая новая версия yaml, что добавляет веселья. *️⃣Не стоит использовать ~, так как это алиас для null.
The yaml document from hell

As a data format, yaml is extremely complicated and it has many footguns. In this post I explain some of those pitfalls by means of an example, and I suggest a few simpler and safer yaml alternatives.

Ruudvanasseldonk