.Yaml veya .yml mi?


336

Yaml.org'a göre , resmi dosya uzantısıdır .yaml.

Alıntı:

YAML dosyaları için resmi bir uzantı var mı?

Lütfen mümkün olduğunda ".yaml" kullanın.

Ancak, internette uzantının kullanılacağı bir anlaşmazlık var gibi görünüyor. Eğer yukarı bakacak olursak web üzerinde örnekler , çoğu onaylanmamış kullanmak .ymluzantısı.

Google'da arama yapmak, daha kısa sonuç için yaklaşık 3 kat daha fazla sonuç verir.


resim açıklamasını buraya girin
49100


resim açıklamasını buraya girin
15400


Peki hangisini kullanmalıyım? Yaratıcı tarafından önerilen uygun 4 harflik uzantı mı, yoksa internetin vahşi batısında bulunan 3 harflik uzantı mı?


3
Belki halk burada şikayet etmeli ve resmi öneriyi ".yml" olarak değiştirmelerini istemelidir. Örgütler (ve kurucular) doğal olarak "yavaş" olabilirler, ancak belki de gerçek dünyadaki kullanımları takip etmeye ikna edilebilirler (yalnızca dili daha fazla evanjelleştirmek için).
MarkDBlackwell

3
@AndrewWagner, eğer rekorunu değiştirirlerse .yml, insanlar .yaml:-) olarak değişebilir
go2null

5
yaml.org/faq.html -> .yaml Kullan
Wannes

6
Hala gösterdikleri göz önüne alındığında yaml.org çok yardımcı olduğundan emin değilim:© 2001-2006 YAML.org All Rights Reserved
sean

6
Şimdi .htm veya .html kullanıyor musunuz? Hala .htm'ye yapışırsanız, muhtemelen .yml sizin için doğru seçimdir. Aksi takdirde, .yaml :-)
xorcus

Yanıtlar:


215

Dosya uzantılarının doğası ve hatta varlığı platforma bağlıdır (bazı belirsiz platformlarda bile yoktur, unutmayın) - diğer sistemlerde sadece gelenekseldir (UNIX ve ilk), yine de diğerlerinde belirli semantikler vardır ve bazı durumlarda uzunluk veya karakter içeriğine (Windows vb.) ilişkin belirli sınırlar.

Koruyucular ".yaml" kullanmanızı istediğini sorduğundan, bu "resmi" bir karara ulaşabileceğiniz kadar yakındır, ancak 8,3'lük alışkanlıktan kurtulmak zordur (ve görünüşe göre, bazen 2013'te hala alakalı).


4
Daha da kötüsü, Notepad ++ kurulumum bu yanlış geliyor gibi görünüyor :-(
Samuel Harmer

35
3 harfli sonek sözleşmesi yaklaşık yirmi yıldır kullanılmamaktadır. Bir şey olursa, World Wide Web'in 90'larda onu reddettiğini iddia ediyorum. Herkesin umursamaya çalışması bile saldırgan. Yeter ki, bu yüzden kırılan herhangi bir yazılım parçasına karşı bir hata dosyalayacağım.
Dave

3
Wikipedia Kategorisi: Dosyaadı_uzantıları sayfası .a , .o ve .z girişlerini listeler . Her nasılsa, .c ve .h'yi kaçırdı . Bu tek harfli uzantılar, uzantıların gerektiği kadar uzun olması gerektiğini, ancak artık ( A. Einstein'ın yarı fiyatına ) olması gerektiğini görmemize yardımcı olur .
MarkDBlackwell

19
Dosyamı adlandırdım .ymlve buna karşı yapabileceğiniz hiçbir şey yok.
bvdb

4
@Dave değerli görüşlerinizi aklınızda tutacağım. ( geri bildiriminizi kaydedin DOCUME~1.HTM. )
bvdb

31

DÜZENLE:

Peki hangisini kullanmalıyım? Yaratıcı tarafından önerilen uygun 4 harflik uzantı mı, yoksa internetin vahşi batısında bulunan 3 harflik uzantı mı?

Bu soru şöyle olabilir:

  1. Tavsiye talebi; veya

  2. Yaşanan o belirli duygunun doğal bir ifadesi iken, bazı resmi tavsiyelerin göz ardı edildiğini - belirgin veya hatta baskın olarak - gözlendiğini gözlemlemektedir.

İnsanlar aşağıdakiler için tercihlerinde farklılık gösterir:

  1. Resmi tavsiye; veya

  2. Uygulamanın üstünlüğü.

Tabii ki, sizi etkilemek pek mümkün değil, bu iki yoldan hangisini seçmeyi tercih edersiniz!

Bunu izleyenlerde (ve bilimin ruhunda), insanların çoğunluğunu 3 harfli uzatmayı kullanmaya iten şey (sadece bir gerçek olarak) hakkında bir hipotez yapıyorum. Ve etkili nedenlere odaklanıyorum .

Bu şekilde, ahlaki cesaret istemiyorum. Hatırlayacağınız gibi, bir şeyin olması, olması gerektiği anlamına gelmez.

Kişisel eğiliminiz ne olursa olsun, bir yolu izlemek ya da diğerini takip etmek, itiraz etmiyorum.

(Düzenleme sonu.)

Bu tercihin (gerçek yaşam kullanımında) 8.3 karakterlik DOS-ish sınırlamasından kaynaklandığı önerisi, IMO kırmızı bir ringa balığıdır (hatalı ve yanıltıcı).

Ağustos 2016 itibariyle, YML ve YAML için Google arama sayıları yaklaşık 6.000.000 ve 4.100.000'dir (iki basamaklı hassasiyete kadar). Dahası, "YAML" sayısı haksız bir şekilde yüksekti, çünkü dilin bir uzantı olarak kullanılmasının ötesinde, adından söz edilmesini içeriyordu.

Temmuz 2018 itibariyle, Google'ın YML ve YAML için arama sayıları yaklaşık 8.100.000 ve 4.100.000'dir (yine iki basamaklı hassasiyetle). Bu nedenle, son iki yılda, YML popülerlik açısından esasen iki katına çıktı, ancak YAML aynı kaldı.

Başka bir kültürel önlem, dosya uzantılarını açıklamaya çalışan web siteleridir. Örneğin, FilExt web sitesinde (Temmuz 2018 itibariyle) YAML sayfası şu şekilde sonuçlanır: "Ooops! FILEXT.com veritabanının .YAML dosya uzantısı hakkında hiçbir bilgisi yok."

Oysa YML için bir girişi vardır : "YAML ... bir metin dosyası kullanır ve bunu İnsan tarafından okunabilir bir formatta düzenler. 'Database.yml', YAML Ruby on Rails tarafından kullanıldığında tipik bir örnektir bir veritabanına bağlanmak için. "

Kasım 2014 itibarıyla uzatma üzerinde Wikipedia'nın makale YML hala ".yml" 'olduğunu belirtti YAML dosya biçimi için dosya uzantısı' (Ek vurgu). Onun YAML makale bir tercih ifade etmeden iki uzantıyı listeler.

".Yml" uzantısı yeterince açıktır, daha kısadır (bu nedenle yazmak ve tanımak daha kolaydır) ve çok daha yaygındır.

Tabii ki, bu uzantıların her ikisi de uzun, olası bir uzantının ".yamlaintmarkuplanguage" kısaltması olarak görülebilir. Ancak programcılar (ve kullanıcılar) bunların hepsini yazmak istemiyorlar!

Bunun yerine, programcılar (ve kullanıcılar) olabildiğince az yazmak istiyoruz ve yine de açık ve net olmak istiyoruz. Ve daha uzun bir kelime okumadan mümkün olduğunca çabuk ne tür bir dosya olduğunu görmek istiyoruz. Her iki hedefi de kaç karakter yerine getirdiğini yazmak? Cevap üç (3) değil mi? Başka bir deyişle, YML?

Wikipedia Kategorisi: Dosya_uzantıları sayfası .a , .o ve .Z girişlerini listeler . Her nasılsa, .c ve .h'yi (C dili tarafından kullanılır) kaçırdı. Bu örnek tek harfli uzantılar, uzantıların gerektiği kadar uzun olduğunu ancak artık olmamasını (Albert Einstein'ı yarı-alıntılamak için) görmemize yardımcı olur.

Bunun yerine, genel olarak, birkaç uzantının "Y" ile başladığına dikkat edin. Diğer taraftan, X harfi "çapraz", "genişletilebilir", "aşırı", "değişken" vb. (Ör. XML'de) dahil çok çeşitli anlamlar için kullanılır. Yani "Y" ile başlamak zaten çok fazla bilgi taşır (bilgi teorisi açısından), oysa "X" ile başlamak bunu yapmaz.

Dilsel olarak konuşursak, bu nedenle, "XML" kısaltmasında (bir anlamda) yalnızca iki bilgilendirici harf ("M" ve "L") bulunur. Bunun yerine "YML" nin üç bilgilendirici harfi vardır ("M", "L" ve "Y"). Gerçekten de, Y ile başlayan mevcut kısaltmalar son derece küçük görünüyor. Bu nedenle, dört harfli bir YAML dosya uzantısı bu yüzden büyük ölçüde fazla hissedilir hissediyorum.

Belki de bu yüzden pratikte, söz konusu kısaltmayı dört (4) karaktere uzatmak için "dilsel" baskının (doğal kullanımda) zayıf olduğunu ve bu kısaltmayı üç (3) karaktere kısaltmak için "dilsel" baskının olduğunu görüyoruz. güçlü.

Tamamen, muhtemelen, bu faktörlerin bir sonucu olarak (resmi bir onay olarak değil), YAML.org web sitesinin en son haber öğesinin (Kasım 2011'den itibaren) JavaScript, JS-YAML , ki bu da dahili olarak ".yml" uzantısını kullanmayı tercih eder.

Yukarıda belirtilen faktörler ana faktörler olabilir; Bununla birlikte, tüm faktörler (bilinen veya bilinmeyen) kısaltılmış, üç (3) karakter uzantısı, mucitlerin tercihine rağmen, YAML için baskın kullanımda bir olmuştur.

".YML" fiili standart gibi görünüyor . Yine de aynı mucitler, dünyanın insan tarafından okunabilir bir veri diline olan ihtiyacı konusunda algılayıcı ve doğruydu. Ve onlara sağladıkları için teşekkür etmeliyiz.


1
YAML için ".yml" dosya uzantısını kullanın , doğada bulunan ".yml" varsayılanı olan birçok somut örnek, öneri ve yapılandırma ayarlarını listeler.
MarkDBlackwell

1
Eğer Wikipedia alıntı yapıyorsanız daha iyi biraz daha okuyun: Yaml 'ın makale Dosya adı uzantısını diyor: .yaml,.yml
Charles Follet

1
@CharlesFollet, alıntıladığınız şey aslında "YAML makalesi önyargısız her iki uzantıyı da listeliyor" (şimdi "bir tercih belirtmeden" olarak düzenleniyor). İnsanlar her iki uzantıyı da kullanır; yine de ".yml" baskındır.
MarkDBlackwell

19
Vikipedi'nin işbirlikçi bir ansiklopedi olduğunu unutmayın . Bunu sadece "olduğunu yansıtacak şekilde YML netleştirme sayfasını düzenlenmiş ortak bir uzantı" yerine " uzantısı".
NiñoScript

2
Yıllarca, belki de YAML kadar da olsa, alana özgü bir dil YML (XML üreten işaretleme) vardır. Google arama sayınız sayılmadı, YML referanslarının yanı sıra YML referanslarını da saymış olabilir. YAML fazla belirtim değil, karışıklığı önlemek için uygun adı kullanıyor.
Anthon

4

Bir çok insanın bu konuda çevrimiçi yorumlarını okuduktan sonra, ilk tepkim bunun temelde gerçekten önemsiz tartışmalardan biri olduğuydu. Ancak, ilk ilgim doğru formatı bulmaktı, böylece dosya adlandırma uygulamamla tutarlı olabilirdim.

Uzun lafın kısası, YAML'nin yaratıcısı diyor .yaml, ama şahsen yapmaya devam ediyorum .yml. Bu benim için daha anlamlı . Bu yüzden onaylama yolculuğuna çıktım ve çok geçmeden docker'ın .ymlher yerde kullandığını anladım . docker-compose.ymlBunca zamandır dosyaları yazıyorum , siz kubernet'lerin belgelerini görmeye devam ederken kubectl apply -f *.yaml...

Sonuç olarak, her iki biçim de açıkça kabul edilmektedir ve diğer taraftaysanız (yani: girdi olarak bir YAML dosyası alan yazma sistemleri) her ikisine de izin vermelisiniz. Deveye karşı başka bir yılan kasası gibi görünüyor ...


2
Yani ne için kullanmak için daha mantıklı YML (YAML muhtemelen sürece civarında olmuştur) alanı belirli bir dil: .yl, .ymya da .mluzantısı?
Anthon

2

.yamlgörünüşe göre resmi uzantıdır, çünkü bazı uygulamalar kullanırken başarısız olur .yml. Öte yandan YAML kodu kullanan, ancak bir .yamluzantı ile başarısız herhangi bir uygulama aşina değilim .

.ymlAnsible ve Docker Compose'de yazmaya alışkın olduğum için bununla karşılaştım. Alışkanlıktan .ymldolayı sessizce başarısız olan Netplan dosyalarını yazarken kullandım. Sonunda hatamı anladım. Netplan için popüler bir Ansible Galaxy rolünün yazarı, kodunda aynı varsayımı yapar:

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

Yine de, .ymluzantıya sahip dosyalar Netplan tarafından uzantıya sahip dosyalar gibi göz ardı edilir .bak. Netplan çok sessiz olduğu ve başarı ile ilgili hiçbir geri bildirim vermediği için bile netplan apply --debug, böyle bir yapılandırma 01-netcfg.ymlanlamlı bir geri bildirim olmadan sessizce başarısız olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.