是.yaml还是.yml?

问题描述 投票:239回答:4

根据yaml.org,官方文件扩展名是.yaml

引用:

Is there an official extension for YAML files?

请尽可能使用“.yaml”。

然而,在互联网上似乎存在分歧,使用扩展。如果你查找examples on the web,他们中的许多人使用未经批准的.yml扩展。

对于较短的搜索结果,搜索Google的结果将近3倍。


49,100


15,400


我应该使用哪个?创作者建议的正确的4个字母扩展名,或者在互联网的狂野西部发现的3个字母的扩展名?

yaml configuration-files app.yaml
4个回答
160
投票

文件扩展的本质甚至存在是依赖于平台的(一些模糊的平台甚至没有它们,请记住) - 在其他系统中它们只是传统的(UNIX及其类似),而在其他系统中它们具有明确的语义在某些情况下,对长度或字符内容的特定限制(Windows等)。

由于维护者要求你使用“.yaml”,这就像你可以获得的“官方”裁决那样接近,但8.3的习惯很难摆脱(而且,令人震惊的是,2013年仍然偶尔相关)。


23
投票

编辑:

我应该使用哪个?创作者建议的正确的4个字母扩展名,或者在互联网的狂野西部发现的3个字母的扩展名?

这个问题可能是:

  1. 征求建议书;要么
  2. 这种特殊情绪的自然表达是经历过的,而人们则观察到一些官方建议被忽视 - 显着,甚至主要。

人们对于追随者的偏好有所不同:

  1. 官方建议;要么
  2. 实践的优势。

当然,我不太可能影响你,关于你喜欢采用哪两条路径!

在接下来的内容中(并且,在科学的精神中),我只是做一个假设,关于什么(仅仅是事实)导致大多数人使用3个字母的扩展名。而且,我专注于efficient causes.

通过这个,我不打算道德劝告。你可能还记得,the fact that something is, does not imply that it should be.

无论你个人倾向于什么,无论是走一条路还是另一条路,我都不反对。

(编辑结束。)

建议,这种偏好(在现实生活中使用)是由8.3字符的DOS-ish限制引起的,IMO是一个red herring(错误和误导)。

截至2016年8月,YML和YAML的谷歌搜索量约为6,000,000和4,100,000(精确度为两位数)。此外,“YAML”计数不公平,因为它包括提及语言的名称,超出其作为扩展的用途。

截至2018年7月,Google对YML和YAML的搜索计数大约是8,100,0004,100,000(再次,精确到两位数)。因此,在过去两年中,YML的受欢迎程度基本上翻了一番,但YAML保持不变。

另一种文化措施是试图解释文件扩展名的网站。例如,在FilExt网站上(截至2018年7月),YAML的页面导致:“Ooops!FILEXT.com数据库没有关于文件扩展名.YAML的任何信息。”

然而,它有一个YML的条目,它给出:“YAML ...使用文本文件并将其组织成人类可读的格式。”database.yml'是Ruby on Rails使用YAML时的典型示例连接数据库。“

截至2014年11月,维基百科关于扩展YML的文章仍然声明“.yml”是“YAML文件格式的文件扩展名”(重点补充)。它的YAML文章列出了两个扩展,没有表达偏好。

扩展名“.yml”足够清晰,更简单(因此更容易键入和识别),并且更为常见。

当然,这两个扩展都可以被视为一个很长的,可能的扩展的缩写,“。yamlaintmarkuplanguage”。但是程序员(和用户)不想输入所有这些!

相反,我们程序员(和用户)希望尽可能少地打字,但仍然是明确无误的。我们希望尽快看到它是什么类型的文件,而不是阅读更长的单词。键入多少个字符可以完成这两个目标?不是答案三(3)?换句话说,YML?

维基百科的Category:Filename_extensions页面列出了.a.o.Z的条目。不知何故,它错过了.c和.h(由C语言使用)。这些单字母扩展示例帮助我们看到扩展应该尽可能长,但不再是(引用阿尔伯特爱因斯坦的一半)。

相反,请注意,一般来说,很少有扩展名以“Y”开头。通常,另一方面,字母X用于多种含义,包括“交叉”,“可扩展”,“极端”,“可变”等(例如,以XML格式)。因此,从“Y”开始已经传达了很多信息(就信息理论而言),而从“X”开始则没有。

因此,在语言学上,首字母缩略词“XML”(在某种程度上)只有两个信息性字母(“M”和“L”)。相反,“YML”具有三个信息性字母(“M”,“L”和“Y”)。实际上,以Y开头的现有缩略语似乎非常小。这意味着,这就是为什么四个字母的YAML文件扩展名被大大夸大了。

也许这就是为什么我们在实践中看到将所谓的缩写延长到四(4)个字符的“语言”压力(在自然使用中)很弱,以及将这个缩写缩短为三(3)个字符的“语言”压力很强。

纯粹是因为这些因素(而不是官方认可),我会注意到YAML.org网站的最新新闻(2011年11月)是关于一个用JavaScript编写的项目,JS-YAML,它本身,内部更喜欢使用扩展名“.yml”。

上述因素可能是主要因素;然而,所有因素(已知或未知)导致缩写的三(3)字符扩展成为YAML的主要用途 - 尽管发明者偏好。

“.YML”似乎是事实上的标准。然而,同样的发明者对于世界对人类可读数据语言的需求是敏感和正确的。我们应该感谢他们提供它。


1
投票

在网上阅读了一堆人的评论之后,我的第一反应是,这基本上就是那些非常不重要的辩论之一。但是,我最初的兴趣是找到正确的格式,以便我可以与我的文件命名实践保持一致。

长话短说,YAML的创造者说.yaml,但我个人一直在做.yml。这对我来说更有意义。所以我继续寻找肯定的旅程,很快,我意识到码头工人到处都使用.yml。我一直在写docker-compose.yml文件,而你一直在看kubernetes'docs kubectl apply -f *.yaml ...

因此,总而言之,两种格式显然都被接受,如果你在另一端,(即:编写接收YAML文件作为输入的系统),你应该允许这两种格式。这似乎是另一个蛇案与骆驼案的关系......


-1
投票

快速回答:

新:.yaml

老:.yml

© www.soinside.com 2019 - 2024. All rights reserved.