Подтвердить что ты не робот

В чем разница между расширением .yaml и .yml?

Я читал их в YAML-википедии, но не очень понял, в чем их основная разница. Я видел, что кто-то использует расширение .yaml, однако Symfony2 использует расширение .yml.

YAML - это читаемый человеком формат сериализации данных, в основе которого лежат понятия языков программирования, таких как C, Perl и Python, а также идеи XML и формат данных электронной почты.

YAML - это рекурсивная аббревиатура от "YAML не является языком разметки". В начале своего развития YAML, как говорили, означал "еще один язык разметки" [3], но затем он был переосмыслен (обратный перевод оригинальной аббревиатуры), чтобы отличить его назначение как ориентированное на данные, а не разметку документа.

Итак, как именно отличается между .yaml и .yml? Когда мы должны предпочесть одно другому?

4b9b3361

Ответ 1

Расширения файлов не имеют никакого отношения к содержимому файла и не влияют на него. Вы можете хранить содержимое YAML в файлах с любым расширением: .yml, .yaml или вообще чем-либо еще.

В (довольно редком) FAQ по YAML рекомендуется использовать .yaml вместо .yml, но по историческим причинам многие программисты Windows по-прежнему боятся использовать расширения, содержащие более трех символов, и поэтому предпочитают использовать вместо .yml.

Итак, что действительно важно, так это то, что находится внутри файла, а не его расширение.

Ответ 2

Как указывает @David Heffeman, рекомендуется использовать .yaml когда это возможно, и эта рекомендация действует с сентября 2006 года.

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

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

Другая рекомендация, которую я имею, состоит в том, чтобы задокументировать аргумент (ы), почему вы должны использовать .yml, когда вы думаете, что должны. Таким образом, вы не любите невежда, и дать другим возможность понять ваши рассуждения. Конечно, "все остальные делают это" и "В Google .yml имеет больше страниц, чем .yaml " - это не аргументы, это всего лишь статистика популярности проектов, которые имеют это неправильно или правильно (в отношении расширения файлов YAML). Вы можете попытаться доказать, что некоторые проекты популярны, просто потому, что они используют расширение .yml вместо правильного .yaml, но я думаю, что вам будет сложно это сделать.

Некоторые проекты (слишком поздно) осознают, что они используют неправильное расширение (например, первоначально docker-compose использовал .yml, но в более поздних версиях начал использовать .yaml, хотя они все еще поддерживают .yml). Другие по-прежнему не знают правильного расширения, например AppVeyor в начале 2019 года, но позволяют вам указать файл конфигурации для проекта, включая расширение. Это позволяет вам избавиться от файла конфигурации и придать ему правильное расширение: я использую .appveyor.yaml вместо appveyor.yml для создания колесных дисков моего парсера YAML для Python).


С другой стороны:

Компонент Yaml (sic!) В Symfony2 реализует выбранный набор функций, определенных в спецификации версии YAML 1.2.

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