Это .yaml или .yml?

336

По данным yaml.org , официальным расширением файла является .yaml.

Quote:

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

Пожалуйста, используйте ".yaml", когда это возможно.

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

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


введите описание изображения здесь
49100


введите описание изображения здесь
15400


Так что я должен использовать? Надлежащее четырехбуквенное расширение, предложенное создателем, или трехбуквенное расширение, найденное на диком западе Интернета?

spuder
источник
3
Возможно, публика должна пожаловаться здесь и попросить изменить официальную рекомендацию на «.yml». Организации (и основатели), естественно, могут быть «медленными», но, возможно, их можно убедить следовать реальному использованию (хотя бы для дальнейшей евангелизации языка).
MarkDBlackwell
3
@AndrewWagner, если они изменят свою запись на .yml, то люди могут измениться на .yaml:-)
go2null
5
yaml.org/faq.html -> Использовать .yaml
Wannes
6
Я не уверен, что yaml.org очень помогает, учитывая, что они все еще показывают:© 2001-2006 YAML.org All Rights Reserved
Шон
6
Вы используете .htm или .html сейчас? Если вы все еще придерживаетесь .htm, то, вероятно, .yml - правильный выбор для вас. В противном случае, вам может быть лучше привыкнуть к использованию .yaml :-)
xorcus

Ответы:

215

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

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

Bandrami
источник
4
Что еще хуже, моя установка Notepad ++, кажется, ошибается :-(
Сэмюэль Хармер
35
Трехбуквенное суффиксное соглашение устарело в течение почти двух десятилетий. Во всяком случае, я бы сказал, что Всемирная паутина устарела в 90-х годах. Обидно, что кто-то даже пытается заботиться. Достаточно, чтобы я подал ошибку в любом программном обеспечении, которое ломается из-за этого.
Дейв
3
На странице Википедии Категория: Filename_extensions перечислены записи для .a , .o и .z . Почему-то пропустили .c и .h . Эти однобуквенные расширения помогают нам увидеть, что расширения должны быть настолько длинными, насколько это необходимо, но не больше (наполовину цитируя А. Эйнштейна ).
MarkDBlackwell
19
Я назвал свой файл, .ymlи вы ничего не можете с этим поделать.
bvdb
4
@ Дэйв, я буду помнить Ваш ценный отзыв. ( сохраняя ваш отзыв в DOCUME~1.HTM. )
bvdb
31

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

Так что я должен использовать? Надлежащее четырехбуквенное расширение, предложенное создателем, или трехбуквенное расширение, найденное на диком западе Интернета?

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

  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", похоже, является стандартом де-факто . И все же те же изобретатели были проницательны и правы в отношении потребности мира в понятном человеку языке данных. И мы должны поблагодарить их за это.

MarkDBlackwell
источник
1
Используйте расширение файла ".yml" для YAML, в котором перечислено много конкретных примеров, рекомендаций и параметров конфигурации по умолчанию ".yml", найденных в дикой природе.
MarkDBlackwell
1
Если вы цитируете Википедию, то лучше прочитать немного больше: YAML статья «s говорит расширение имени файла: .yaml,.yml
Чарльз Follet
1
@CharlesFollet, то, что вы процитировали, на самом деле послужило основанием для моего утверждения: «В его статье YAML перечислены оба расширения без ущерба» (теперь редактируется как «без выражения предпочтения»). Люди используют оба расширения; все же ".yml" преобладает.
MarkDBlackwell
19
Всегда помните, что Википедия - это совместная энциклопедия. Я редактировал многозначные страницы YML , чтобы отразить , что это просто « обычное расширение» вместо « расширение».
NiñoScript
2
В течение многих лет существовал предметно-ориентированный язык YML (разметка, генерирующая XML), возможно, даже столько же, сколько и YAML. Ваш счетчик поиска Google не учитывал, вероятно, учитывались ссылки на YML, а также ошибочные ссылки на YAML. YAML не является чрезмерной спецификацией, он использует соответствующее имя для предотвращения путаницы.
Anthon
4

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

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

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

JackyJohnson
источник
2
Так что имеет смысл для вас использовать для YML домена определенного языка (который был вокруг , вероятно , до тех пор, YAML): в .yl, .ymили на .mlрасширение?
Anthon
2

.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которая молча провалится без какой-либо значимой обратной связи.

ChrisW
источник