Це .yaml чи .yml?


336

За інформацією yaml.org , офіційним розширенням файлу є .yaml.

Цитата:

Чи є офіційне розширення для файлів YAML?

Будь ласка, використовуйте ".yaml", коли це можливо.

Однак в Інтернеті, мабуть, виникають розбіжності щодо того, яке розширення використовувати. Якщо ви шукаєте приклади в Інтернеті , багато з них використовують несанкціоновані .ymlрозширення.

Пошук у Google повертає майже в 3 рази більше результатів для коротшого.


введіть тут опис зображення
49,100


введіть тут опис зображення
15 400


Отже, що я повинен використовувати? Правильне розширення на 4 літери, запропоноване автором, або розширення на 3 літери, знайдене на дикому заході Інтернету?


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
sean

6
Ви зараз використовуєте .htm чи .html? Якщо ви все ще дотримуєтесь .htm, то, ймовірно, .yml - це правильний вибір для вас. Інакше вам може бути краще звикнути до використання .yaml :-)
xorcus

Відповіді:


215

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

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


4
Що ще гірше, моє встановлення Notepad ++ здається помилковим :-(
Самуель Хармер

35
Конвенція про суфікси з трьома літерами застаріла майже два десятиліття. Якщо що, я б заперечував, що всесвітня павутина застаріла в 90-х. Це образливо, що хтось навіть намагається піклуватися. Досить, щоб я подав помилку на будь-який фрагмент програмного забезпечення, який з-за цього зламається.
Дейв

3
Категорія Вікіпедії : Сторінка імені_поширень містить список записів для .a , .o та .z . Якось пропустив .c та .h . Ці однобуквені розширення допомагають нам побачити, що розширення повинні бути стільки, скільки потрібно, але більше (до половини цитування А. Ейнштейна ).
MarkDBlackwell

19
Я назвав свій файл, .ymlі проти цього нічого не можна зробити.
bvdb

4
@Dave Я пам’ятаю ваші цінні відгуки. ( збереження відгуків DOCUME~1.HTM. )
bvdb

31

Редагувати:

Отже, що я повинен використовувати? Правильне розширення на 4 літери, запропоноване автором, або розширення на 3 літери, знайдене на дикому заході Інтернету?

Це питання може бути:

  1. Прохання про консультацію; або

  2. Природним вираженням тієї емоції, яку переживаєш, при цьому зауважуєш, що деякі офіційні рекомендації нехтуються - чільне місце чи навіть переважно.

Люди відрізняються своєю пристрастю до наступного:

  1. Офіційна порада; або

  2. Перевага практики.

Звичайно, я навряд чи впливатиму на вас, щодо того, який із цих двох шляхів ви віддаєте перевагу!

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

Цим я не маю наміру морального підмоги. Як ви пам'ятаєте, той факт, що щось є, не означає, що воно повинно бути.

Якою б не була ваша особиста схильність, будь то йти тим чи іншим шляхом, я не заперечую.

(Кінець редагування.)

Припущення про те, що ця перевага (у реальному використанні) була зумовлена ​​обмеженням 8,3 символів DOS-ish, 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?

Категорія Вікіпедії : Сторінка імені_поширень містить список записів для .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", здається, є фактичним стандартом. І все ж ті самі винахідники сприймали і коректно ставились до світової потреби у читаній людиною мові даних. І ми повинні їм подякувати за надання.


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 не є надвизначеним, він використовує відповідну назву для запобігання плутанини.
Антон

4

Прочитавши купу коментарів людей в Інтернеті про це, моя перша реакція полягала в тому, що це в основному одна з тих дійсно неважливих дискусій. Однак, моїм початковим інтересом було знайти правильний формат, щоб я міг відповідати моїй практиці імен файлів.

Коротше кажучи, творці YAML говорять .yaml, але особисто я продовжую це робити .yml. Це просто має більше сенсу для мене . Тому я вирушив у подорож, щоб знайти підтвердження, і досить скоро зрозумію, що докер використовує .ymlвсюди. Я docker-compose.ymlвесь цей час писав файли, поки ви постійно бачите в документах кубернетів kubectl apply -f *.yaml...

Отже, на закінчення, обидва формати, очевидно, прийняті, і якщо ви знаходитесь на іншому кінці (тобто системи запису, які отримують файл YAML як вхід), ви повинні дозволити обидва. Це здається черговим випадком змії проти справжнього випадку з верблюдом ...


2
Так що має сенс для вас використовувати для YML домену певної мови (який був навколо , ймовірно , до тих пір, YAML): в .yl, .ymабо на .mlрозширення?
Антон

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, мовчить, вийде з ладу без будь-яких значущих відгуків.


-1

Просто для розповіді ... Yaml - це файлова схема / тип, а ".yml" - це розширення до нього, як і текстовий файл, і ".txt" для розширень.


Чи є для цього хороше пояснення? Якщо офіційні документи говорять про те, що має бути продовження .yaml, чому ви голосуєте проти цього?
Ніко Хааз
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.