.yamlまたは.ymlですか?


335

yaml.orgによると、公式のファイル拡張子は.yamlです。

見積もり:

YAMLファイルの公式の拡張子はありますか?

可能な場合は「.yaml」を使用してください。

ただし、どの拡張機能を使用するかについては、インターネット上で意見の相違があるようです。ウェブを検索すると、それらの多くは認可されていない.yml拡張機能を使用しています。

Googleを検索すると、短い方の結果のほぼ3倍の結果が返されます。


ここに画像の説明を入力してください
49,100


ここに画像の説明を入力してください
15,400


それで私はどちらを使うべきですか?作成者が提案した適切な4文字の拡張子、またはインターネットの野生の西で見つかった3文字の拡張子?


3
たぶん大衆はここで不満を述べ、公式の推奨を「.yml」に変更するように彼らに頼むべきです。組織(および創設者)は当然「遅い」可能性がありますが、おそらく、実際の使用法に従うと確信することができます(言語をさらに宣伝するためだけの場合)。
MarkDBlackwell

3
@ AndrewWagner、recをに変更する.ymlと、人々は次のように変更される可能性があります.yaml:-)
go2null

4
yaml.org/faq.html- > .yamlを使用
Wannes

6
私はyaml.orgが、彼らはまだ示して与えられた多くの助けであるか分からない:© 2001-2006 YAML.org All Rights Reserved
ショーン・

6
現在.htmまたは.htmlを使用していますか?それでも.htmを使用する場合は、おそらく.ymlが最適です。それ以外の場合は、.yamlの使用に慣れる方がよいでしょう:-)
xorcus

回答:


214

ファイル拡張子の性質と存在はプラットフォームに依存します(一部のあいまいなプラットフォームにはそれらさえありません、覚えておいてください)-他のシステムでは従来のもの(UNIXとそのilk)だけですが、他のシステムでは明確なセマンティクスがあります場合によっては、長さや文字の内容(Windowsなど)に特定の制限があります。

メンテナから「.yaml」を使用するように依頼されたため、これは「公式」の判決にできる限り近いものですが、8.3の習慣から抜け出すのは困難です(そして、恐ろしいことに、2013年にも時折関連します)。


4
さらに悪いことに、Notepad ++の私のインストールはこれを間違っているようです:-(
Samuel Harmer

35
3文字のサフィックス規約は、ほぼ20年間廃止されています。どちらかといえば、World-Wide Webは90年代にそれを廃止したと主張します。誰もが気にしようとさえするのは不快です。それが原因で壊れるソフトウェアに対してバグを報告するほどです。
Dave

3
WikipediaのCategory:Filename_extensionsページには、.a.o.zのエントリが一覧表示されます。どういうわけか、それは.cと.hを逃しました。これらの1文字の拡張機能は、拡張機能は必要なだけ長くする必要があることを確認するのに役立ちますが、(A。Einsteinを半分引用して)長くならないようにします。
MarkDBlackwell 2016

19
私は自分のファイルに名前を付けましたが、.ymlそれに対してあなたができることは何もありません。
bvdb

4
@デイブ私はあなたの貴重なフィードバックを心に留めておきます。(フィードバックをに保存してくださいDOCUME~1.HTM
bvdb

32

編集:

それで私はどちらを使うべきですか?作成者が提案した適切な4文字の拡張子、またはインターネットの野生の西にある3文字の拡張子?

この質問は次のようになります:

  1. アドバイスの要請; または

  2. その特定の感情の自然な表現。一方、公式の推奨事項が目立つように、または圧倒的に無視されていることに気づいている。

人々は次のことに対する彼らの好みに違いがあります:

  1. 公式アドバイス; または

  2. 練習の優勢。

もちろん、私があなたに影響を与える可能性は低いです。

次は(そして科学の精神で)、私は単に仮説を立てます。何が(単なる事実として)何が大多数の人に3文字の拡張子を使用させたのかについての仮説を立てます。そして、私は効率的な原因に焦点を当てています。

これにより、道徳的な勧めをするつもりはありません。覚えているかもしれませんが、何かがあるという事実は、あるべきことを意味するものではありません。

あなたの個人的な傾向が何であれ、それがどちらの道をたどるにせよ、私は反対しません。

(編集の終わり。)

この設定(実際の使用法)は8.3文字のDOS風の制限によって引き起こされたという提案は、IMOはレッドニシン(誤って誤解を招く)です。

2016年8月の時点で、Google検索のYMLとYAMLの数は約6,000,000と4,100,000(2桁の精度)でした。さらに、「YAML」の数は、拡張機能としての使用を超えて、名前による言語の言及を含んでいたため、不当に高かった。

7月、2018年の時点で、YMLとYAMLのためのGoogleの検索数はおよそた810万410万(再び、精度の2桁まで)。したがって、過去2年間で、YMLの人気は基本的に2倍になりましたが、YAMLは同じままです。

別の文化的対策は、ファイル拡張子を説明しようとするWebサイトです。たとえば、FilExt Webサイト(2018年7月現在)では、YAMLのページに「Ooops!FILEXT.comデータベースにはファイル拡張子.YAMLに関する情報がありません」という結果になります。

これに対して、YMLのエントリがあります。「YAML ...テキストファイルを使用し、それを人間が読める形式に編成します。'database.yml 'は、YAMLがRuby on Railsで使用される典型的な例です。データベースに接続します。」

11月、2014年の時点で、延長にWikipediaの記事YMLはまだ「.ymlは」 『であることを述べた(強調追加)YAMLファイル形式のファイル拡張子』。そのYAMLの記事には、好みを表現せずに、両方の拡張を示しています。

拡張子 ".yml"は十分に明確であり、より簡潔で(タイプおよび認識が容易)、はるかに一般的です。

もちろん、これらの拡張機能はどちらも、長くて可能な拡張機能「.yamlaintmarkuplanguage」の省略形と見なすことができます。しかし、プログラマー(およびユーザー)は、それらすべてを入力する必要はありません。

代わりに、プログラマー(およびユーザー)は、できるだけ少ないタイプを入力し、それでもなお明確で明確であることを望みます。また、長い単語を読み取らずに、ファイルの種類をできるだけ早く確認したいと考えています。いくつの文字を入力するだけでこれらの両方の目標を達成できますか?答えは3つではありませんか?つまり、YML?

ウィキペディアのCategory:Filename_extensionsページには、.a.o、および.Zのエントリが一覧表示されます。どういうわけか、.cと.h(C言語で使用)がありませんでした。これらの1文字の拡張機能の例は、拡張機能が必要な長さである必要があることを確認するのに役立ちますが、(Albert Einsteinを引用すると)もはや長くはなりません。

代わりに、一般に、「Y」で始まる拡張機能はほとんどないことに注意してください。一方、一般的に、文字Xは、「クロス」、「拡張可能」、「極端」、「変数」など(XMLなど)など、さまざまな意味で使用されます。したがって、「Y」で始まることはすでに(情報理論の観点から)多くの情報を伝えますが、「X」で始まることは伝えません。

したがって、言語学的に言えば、「XML」という頭字語には(ある意味で)2つの情報文字(「M」と「L」)しかありません。代わりに、「YML」には3つの情報文字(「M」、「L」、「Y」)があります。実際、Yで始まる既存の頭字語のセットは非常に小さいようです。暗黙のうちに、これが4文字のYAMLファイル拡張子が非常に過剰に指定されていると感じる理由です。

おそらくこれが、実際に、問題の略語を4文字に長くする「自然な」圧力が弱く、この略語を3文字に短くする「言語的な」圧力が弱いことがわかる理由です。は強い。

純粋に、おそらくこれらの要因の結果として(そして公式の裏書としてではなく)、YAML.org Webサイトの最新のニュース項目(2011年11月から)はすべてJavaScript、JS-YAMLで書かれたプロジェクトに関するものであることに注意します内部的には、拡張子 ".yml"の使用を好みます。

上記の要因が主なものであった可能性があります。それにもかかわらず、すべての要因(既知または不明)により、発明者の好みにかかわらず、短縮された3文字の拡張がYAMLで主に使用される拡張になりました。

「.YML」は事実上の標準のようです。それでも、同じ発明者たちは、人間が読めるデータ言語に対する世界の必要性について、知覚的かつ正確でした。そして、それを提供してくれた彼らに感謝すべきです。


1
YAMLのファイル拡張子「.yml」を使用すると、多くの具体的な例、推奨事項、構成設定がデフォルトで「.yml」になり、実際に見つかります。
MarkDBlackwell

1
ウィキペディアを引用する場合は、もう少し読んでおくとよいでしょう。Yamlの記事によると、ファイル名拡張子は:.yaml.yml
Charles Follet

1
@CharlesFollet、あなたが引用したものは、実際には私の声明の基礎でした、「そのYAML記事は両方の拡張機能を偏見なくリストしています」(現在は「設定を表すことなく」に編集されています)。人々は両方の拡張子を使用します。それでも「.yml」が優勢です。
MarkDBlackwell 2016

19
ウィキペディアは共同百科事典であることを常に覚えておいてください。私はそれだけ「であることを反映するために、YMLの曖昧さ回避ページを編集し、共通の拡張子」の代わりに「拡張」。
NiñoScript

2
ドメイン固有の言語YML (XMLを生成するマークアップ)が何年もの間、おそらくYAMLと同じくらい長い間あります。あなたのグーグル検索カウントが数えなかったのは、YML参照と欠陥のあるYAML参照を数えた可能性があります。YAMLは過剰仕様ではなく、混乱を防ぐために適切な名前を使用しています。
Anthon、

4

これについてオンラインでたくさんの人々のコメントを読んだ後、私の最初の反応は、これは基本的にそれらの本当に重要でない議論の1つであるというものでした。しかし、私の最初の関心は正しいファイル形式を見つけることでしたので、自分のファイルの命名慣習と一貫性を保つことができました。

要するに、YAMLの作成者は言っ.yamlてい.ymlますが、個人的に私は続けています。それは私にはもっと理にかなっています。だから私は肯定を見つけるための旅に出て、すぐに、ドッカーは.ymlどこでも使用していることに気づきました。私はずっとdocker-compose.ymlファイルを書いてきましたが、kubernetesのドキュメントを見続けている間 kubectl apply -f *.yaml...

したがって、結論として、両方の形式が明らかに受け入れられ、反対側にいる場合(つまり、入力としてYAMLファイルを受け取る書き込みシステム)は、両方を許可する必要があります。それは別のヘビのケース対ラクダのケースのようだ...


2
それでは、あなたがのために使用するためのより多くの意味になりYML(YAMLとしておそらく限りの周りされている)、ドメイン固有の言語を:.yl.ym、または.ml拡張子が?
Anthon、

2

.yaml一部のアプリケーションはの使用時に失敗するため、明らかに公式の拡張機能.ymlです。一方、私はYAMLコードを使用するアプリケーションに精通していませんが、.yaml拡張機能で失敗します。

.ymlAnsibleやDocker Composeでの記述に慣れていたので、これに出くわしました。.yml静かに失敗したNetplanファイルを作成するときに使用した習慣から。ついに間違いを見つけました。Netplanで人気のあるAnsible Galaxyロールの作者は、彼のコードでも同じことを想定しています。

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

しかし、.yml拡張子が付いたファイルは、拡張子が付いたファイルと同じように、Netplanによって無視されます.bak。Netplanは非常に静かで、成功した場合でもフィードバックを提供しません。たとえを使用しても、netplan apply --debugなどの構成01-netcfg.ymlは、意味のあるフィードバックなしで静かに失敗します。


0

ナレーションするだけです... Yamlはファイルスキーマ/タイプで、 '。yml'はテキストファイルと同様にファイル拡張子で、 '。txt'は拡張子です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.