Это .yaml или .yml?

Согласно yaml.org, официальное расширение файла .yaml.

Цитата:

Есть ли официальное расширение для файлов YAML?

По возможности используйте ".yaml".

Однако, похоже, есть разногласия в Интернете, на которых расширение использовать. Если вы посмотрите примеры в Интернете, многие из них используют несанкционированное расширение .yml.

Поиск Google возвращает почти в 3 раза больше результатов для более короткого.


enter image description here
49100


enter image description here
15400


Итак, что я должен использовать? Правильное 4-буквенное расширение, предложенное создателем, или 3-буквенное расширение, обнаруженное на диком западе Интернета?

Ответ 1

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

Так как сопровождающие просили вас использовать ".yaml", это настолько близко к "официальному" решению, сколько вы можете получить, но от привычки 8.3 трудно избавиться (и, что ужасно, до сих пор иногда актуально в 2013 году).

Ответ 2

РЕДАКТИРОВАТЬ:

Так что я должен использовать? Правильное 4-буквенное расширение, предложенное создателем, или 3-буквенное расширение, найденное на диком западе Интернета?

Этот вопрос может быть:

  1. Просьба о совете; или же

  2. Естественное выражение той конкретной эмоции, которая испытана, в то время как каждый замечает, что некоторая официальная рекомендация игнорируется - заметно или даже преимущественно.

Люди отличаются своей склонностью к следующему:

  1. Официальный совет; или же

  2. Преобладание практики.

Конечно, я вряд ли буду влиять на вас, относительно того, какой из этих двух путей вы предпочитаете выбрать!

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

Этим я не намерен морально призывать. Как вы помните, тот факт, что что-то есть, не означает, что это должно быть.

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

(Конец редактирования.)

Предположение, что это предпочтение (при использовании в реальной жизни) было вызвано ограничением DOS в 8,3 символа, IMO - красная сельдь (ошибочная и вводящая в заблуждение).

По состоянию на август 2016 года количество поисковых запросов Google для YML и YAML составляло приблизительно 6 000 000 и 4 100 000 (с точностью до двух цифр). Кроме того, число "YAML" было неоправданно высоким, поскольку оно включало упоминание языка по имени, за исключением его использования в качестве расширения.

По состоянию на июль 2018 года количество поисковых запросов в Google для YML и YAML составляло приблизительно 8 100 000 и 4 100 000 (опять же, с точностью до двух цифр). Таким образом, за последние два года популярность YML практически удвоилась, но YAML остался прежним.

Другая культурная мера - веб-сайты, которые пытаются объяснить расширения файлов. Например, на веб-сайте FilExt (по состоянию на июль 2018 года) страница для YAML приводит к следующему: "Упс! База данных FILEXT.com не содержит никакой информации о расширении файла .YAML".

Принимая во внимание, что у него есть запись для YML, которая дает: "YAML... использует текстовый файл и организует его в формат, который удобочитаем для человека." Database.yml "является типичным примером, когда YAML используется Ruby on Rails подключиться к базе данных. "

По состоянию на ноябрь 2014 года в статье Википедии о расширении YML все еще указывалось, что ".yml" - это "расширение файла для формата файла YAML" (выделение добавлено). Его статья YAML перечисляет оба расширения, не выражая предпочтения.

Расширение ".yml" достаточно ясно, более кратко (поэтому его легче набирать и распознавать) и встречается гораздо чаще.

Конечно, оба этих расширения можно рассматривать как сокращения длинного, возможного расширения, ".yamlaintmarkuplanguage". Но программисты (и пользователи) не хотят печатать все это!

Вместо этого мы, программисты (и пользователи), хотим печатать как можно меньше, и все же быть однозначными и ясными. И мы хотим увидеть, что это за файл, как можно быстрее, не читая более длинное слово. Вводите, сколько символов выполняет обе эти цели? Разве не ответ три (3)? Другими словами, YML?

Категория Википедии : На странице Filename_extensions перечислены записи для .a, .o и .Z. Каким-то образом он пропустил .c и .h (используется языком C). Эти примеры однобуквенных расширений помогают нам увидеть, что расширения должны быть настолько длинными, насколько это необходимо, но не больше (наполовину цитируя Альберта Эйнштейна).

Вместо этого обратите внимание, что, как правило, несколько расширений начинаются с "Y". Обычно, с другой стороны, буква X используется для самых разных значений, включая "кросс", "расширяемый", "экстремальный", "переменный" и т.д. (Например, в XML). Таким образом, начало с "Y" уже передает много информации (с точки зрения теории информации), тогда как начало с "X" - нет.

Следовательно, с лингвистической точки зрения, аббревиатура "XML" имеет (в некотором смысле) только две информативные буквы ("М" и "L"). Вместо этого "YML" содержит три информативных буквы ("M", "L" и "Y"). Действительно, существующий набор сокращений, начинающийся с Y, кажется чрезвычайно маленьким. Подразумевается, что именно поэтому четырехбуквенное расширение файла YAML выглядит сильно переопределенным.

Возможно, именно поэтому мы видим на практике, что "лингвистическое" давление (при естественном использовании) удлинить данную аббревиатуру до четырех (4) символов слабое, а "лингвистическое" давление укоротить эту аббревиатуру до трех (3) символов сильный.

Чисто в результате, вероятно, из этих факторов (а не в качестве официального одобрения), я хотел бы отметить, что последняя новость на сайте YAML.org (с ноября 2011 г.) посвящена проекту, написанному на JavaScript, JS-YAML, который сам внутренне предпочитает использовать расширение ".yml".

Вышеупомянутые факторы, возможно, были основными; тем не менее, все факторы (известные или неизвестные) привели к сокращению трех (3) расширений символов, которое стало преобладающим для YAML - несмотря на предпочтения изобретателей.

".YML", похоже, является стандартом де-факто. И все же те же изобретатели были проницательны и правы в отношении мировой потребности в читаемом человеком языке данных. И мы должны поблагодарить их за это.

Ответ 3

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

Короче говоря, создатель YAML говорит .yaml, но лично я продолжаю делать .yml. Это просто имеет больше смысла для меня. Поэтому я отправился в путешествие, чтобы найти подтверждение, и довольно скоро я понял, что докер везде использует .yml. Все это время я писал файлы docker-compose.yml, в то время как вы продолжаете видеть в kubernetes 'docs kubectl apply -f *.yaml...

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

Ответ 4

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

Я просто наткнулся на это, поскольку я привык писать .yml на Ansible и Docker Compose. По привычке я использовал .yml при записи файлов Netplan, которые молча давали сбой. Я наконец понял свою ошибку. Автор популярной роли Ansible Galaxy для Netplan делает то же самое в своем коде:

- name: Capturing Existing Configurations
  find:
    paths: /etc/netplan
    patterns: "*.yml,*.yaml"
  register: _netplan_configs

Тем не менее, любые файлы с расширением .yml игнорируются Netplan так же, как и файлы с расширением .bak. Поскольку Netplan очень тихий и не дает никакой обратной связи об успехе, даже с netplan apply --debug, такая конфигурация, как 01-netcfg.yml, будет молча терпеть неудачу без какой-либо значимой обратной связи.

Ответ 5

Быстрый ответ:

Новый:.yaml

Старый:.yml

Ответ 6

До сих пор многие USB-накопители большого пальца по-прежнему отформатированы с использованием FAT16, поэтому, чтобы сказать, что формат файла 8.3 устарел более 20 лет, это нонсенс.

Если бы рекомендация была .yml, это не было бы проблемой. Это похоже на то, что в основном пользователи yaml используют только NTFS, ext4 и т.д.

Bash скрипты не являются .bash, они являются .sh, скрипты python не являются .python они .py, ruby ​​-.rb и т.д. Они преуспевают, и никто не жалуется.