Czy to .yaml czy .yml?

336

Według yaml.org , oficjalne rozszerzenie pliku to .yaml.

Zacytować:

Czy istnieje oficjalne rozszerzenie plików YAML?

Jeśli to możliwe, użyj „.yaml”.

Wydaje się jednak, że w Internecie istnieje różnica zdań, z którego rozszerzenia korzystać. Jeśli szukasz przykładów w Internecie , wiele z nich używa niesankcjonowanego .ymlrozszerzenia.

Wyszukiwanie w Google zwraca prawie 3 razy więcej wyników dla krótszego.


wprowadź opis zdjęcia tutaj
49 100


wprowadź opis zdjęcia tutaj
15 400


Którego mam użyć? Prawidłowe czteroliterowe rozszerzenie sugerowane przez twórcę lub trzyliterowe rozszerzenie znalezione na dzikim zachodzie internetu?

Spuder
źródło
3
Może opinia publiczna powinna narzekać tutaj i poprosić o zmianę oficjalnej rekomendacji na „.yml”. Organizacje (i założyciele) naturalnie mogą być „powolne”, ale być może mogą być przekonane do stosowania w świecie rzeczywistym (choćby w celu dalszej ewangelizacji języka).
MarkDBlackwell
3
@AndrewWagner, jeśli zmienią swoje rec na .yml, wtedy ludzie mogą zmienić na .yaml:-)
go2null
5
yaml.org/faq.html -> Użyj .yaml
Wannes
6
Nie jestem pewien, czy yaml.org jest bardzo pomocny, ponieważ wciąż pokazują:© 2001-2006 YAML.org All Rights Reserved
sean
6
Czy używasz teraz .htm lub .html? Jeśli nadal trzymasz się .htm, to prawdopodobnie .yml jest właściwym wyborem dla Ciebie. W przeciwnym razie lepiej być przyzwyczajonym do korzystania z .yaml :-)
xorcus,

Odpowiedzi:

215

Natura, a nawet istnienie rozszerzeń plików, zależy od platformy (niektóre niejasne platformy nawet ich nie mają, pamiętaj) - w innych systemach są one tylko konwencjonalne (UNIX i jego podobne), podczas gdy w jeszcze innych mają określoną semantykę aw niektórych przypadkach określone ograniczenia długości lub zawartości znaków (Windows itp.).

Ponieważ opiekunowie poprosili o użycie „.yaml”, jest to tak zbliżone do „oficjalnego” orzeczenia, jak to tylko możliwe, ale nawyk 8.3 jest trudny do zniesienia (i, co przerażające, nadal czasami ma znaczenie w 2013 r.).

Bandrami
źródło
4
Co gorsza, moja instalacja Notepad ++ wydaje się być w błędzie :-(
Samuel Harmer
35
Trzyliterowa konwencja sufiksów jest przestarzała przez prawie 2 dekady. Jeśli już, to twierdzę, że Internet przestał istnieć w latach 90. To obraźliwe, że ktokolwiek nawet próbuje się tym przejmować. Wystarczająco, żebym zgłosił błąd w stosunku do dowolnego oprogramowania, które z powodu tego pęka.
Dave
3
Kategoria Wikipedii : strona Rozszerzenia nazw plików zawiera wpisy dla .a , .o i .z . Jakoś brakowało .c i .h . Te jednoliterowe rozszerzenia pomagają nam dostrzec, że rozszerzenia powinny być tak długie, jak to konieczne, ale już nie dłuższe (aby zacytować A. Einsteina ).
MarkDBlackwell
19
Nazwałem mój plik .ymli nic nie możesz na to poradzić.
bvdb
4
@Dave Będę pamiętać o twoich cennych opiniach. ( zapisując swoją opinię do DOCUME~1.HTM. )
bvdb
31

EDYTOWAĆ:

Którego mam użyć? Prawidłowe czteroliterowe rozszerzenie sugerowane przez twórcę lub trzyliterowe rozszerzenie znalezione na dzikim zachodzie internetu?

To pytanie może brzmieć:

  1. Prośba o poradę; lub

  2. Naturalny wyraz tej konkretnej emocji, którą się doświadcza, podczas gdy obserwuje się, że niektóre oficjalne zalecenia są ignorowane - wyraźnie, a nawet głównie.

Ludzie różnią się upodobaniem do:

  1. Oficjalne porady; lub

  2. Przewaga praktyki.

Oczywiście raczej nie mam na ciebie wpływu, jeśli chodzi o którą z tych dwóch ścieżek wolisz podążać!

W dalszej części (i zgodnie z duchem nauki) stawiam jedynie hipotezę na temat tego, co (tylko w rzeczywistości) skłoniło większość ludzi do korzystania z 3-literowego rozszerzenia. I skupiam się na skutecznych przyczynach.

Nie zamierzam przez to napominać moralnie. Jak pamiętacie, fakt, że coś jest, nie oznacza, że ​​tak powinno być.

Bez względu na waszą osobistą skłonność, czy to podążać tą czy inną ścieżką, nie mam nic przeciwko.

(Koniec edycji.)

Sugestia, że ​​ta preferencja (w rzeczywistym użyciu) została spowodowana ograniczeniem DOS do 8,3 znaków, IMO to czerwony śledź (błędny i wprowadzający w błąd).

Według stanu na sierpień 2016 r. Wyniki wyszukiwania Google dla YML i YAML wynosiły około 6 000 000 i 4 100 000 (z dokładnością do dwóch cyfr). Ponadto liczba „YAML” była niesprawiedliwie wysoka, ponieważ obejmowała wzmiankę o języku z nazwy, poza jego użyciem jako rozszerzenia.

Według stanu na lipiec 2018 r. Wyniki wyszukiwania Google dla YML i YAML wynosiły około 8 100 000 i 4 100 000 (ponownie, z dokładnością do dwóch cyfr). Tak więc w ciągu ostatnich dwóch lat popularność YML zasadniczo się podwoiła, ale YAML pozostał taki sam.

Innym środkiem kulturowym są strony internetowe, które próbują wyjaśnić rozszerzenia plików. Na przykład na stronie internetowej FilExt (od lipca 2018 r.) Strona YAML pokazuje: „Ojej! Baza danych FILEXT.com nie ma żadnych informacji o rozszerzeniu pliku .YAML”.

Natomiast ma wpis dla YML , który daje: „YAML ... używa pliku tekstowego i organizuje go w formacie czytelnym dla człowieka.„ Database.yml ”jest typowym przykładem, gdy YAML jest używany przez Ruby on Rails połączyć się z bazą danych ”.

W listopadzie 2014 roku, artykuł Wikipedii na przedłużenie yml jeszcze stwierdził, że „.yml” jest « rozszerzenie pliku do formatu YAML» (podkreślenie dodane). W artykule YAML wymieniono oba rozszerzenia bez wyrażania preferencji.

Rozszerzenie „.yml” jest wystarczająco jasne, jest krótsze (a więc łatwiejsze do pisania i rozpoznawania) i jest znacznie częstsze.

Oczywiście oba te rozszerzenia mogą być postrzegane jako skróty długiego, możliwego rozszerzenia „.yamlaintmarkuplanguage”. Ale programiści (i użytkownicy) nie chcą tego wszystkiego pisać!

Zamiast tego, my programiści (i użytkownicy) chcemy pisać tak mało, jak to możliwe, a jednocześnie zachować jednoznaczność i jasność. I chcemy zobaczyć, jaki to plik, tak szybko, jak to możliwe, bez czytania dłuższego słowa. Wpisując, ile postaci osiąga oba te cele? Czy odpowiedź nie jest trzy (3)? Innymi słowy, YML?

Kategoria Wikipedii : strona Rozszerzenia nazw plików zawiera wpisy dla .a , .o i .Z . Jakoś brakowało .c i .h (używane przez język C.) Te przykładowe rozszerzenia z jedną literą pomagają nam dostrzec, że rozszerzenia powinny być tak długie, jak to konieczne, ale już nie dłuższe (aby zacytować Alberta Einsteina).

Zamiast tego zauważ, że na ogół niewiele rozszerzeń zaczyna się od „Y”. Z drugiej strony, litera X jest używana w wielu różnych znaczeniach, w tym „krzyż”, „rozszerzalny”, „ekstremalny”, „zmienna” itp. (Np. W XML). Zatem rozpoczęcie od „Y” już przekazuje wiele informacji (w kategoriach teorii informacji), podczas gdy rozpoczęcie od „X” nie.

Zatem pod względem językowym akronim „XML” ma (w pewnym sensie) tylko dwie litery informacyjne („M” i „L”). Zamiast tego „YML” ma trzy litery informacyjne („M”, „L” i „Y”). Rzeczywiście, istniejący zestaw akronimów zaczynających się na Y wydaje się niezwykle mały. W konsekwencji czteroliterowe rozszerzenie pliku YAML wydaje się być zbyt zawężone.

Być może dlatego w praktyce widzimy, że presja „językowa” (w naturalnym użyciu), aby wydłużyć przedmiotowy skrót do czterech (4) znaków, jest słaba, a presja „językowa”, aby skrócić ten skrót do trzech (3) znaków jest silny.

Prawdopodobnie wyłącznie z powodu tych czynników (a nie oficjalnego poparcia) chciałbym zauważyć, że najnowszy artykuł na stronie YAML.org (od listopada 2011 r.) Dotyczy projektu napisanego w JavaScript, JS-YAML , który sam wewnętrznie woli używać rozszerzenia „.yml”.

Wyżej wymienione czynniki mogły być głównymi; niemniej jednak wszystkie czynniki (znane lub nieznane) spowodowały, że skrócone, trzy (3) rozszerzenie znaków stało się tym, które dominuje w YAML - pomimo preferencji wynalazców.

„.YML” wydaje się de facto standardem. Jednak ci sami wynalazcy byli spostrzegawczy i słuszni, jeśli chodzi o światową potrzebę czytelnego dla ludzi języka danych. I powinniśmy im podziękować za dostarczenie tego.

MarkDBlackwell
źródło
1
Użyj rozszerzenia pliku „.yml” dla YAML, aby wyświetlić wiele konkretnych przykładów, rekomendacji i ustawień konfiguracji z domyślną wartością „.yml” znalezioną na wolności.
MarkDBlackwell
1
Jeśli zacytować Wikipedię, lepiej czytać trochę więcej: yaml artykuł „s mówi Rozszerzenie nazwy pliku: .yaml,.yml
Charles Follet
1
@CharlesFollet, to, co zacytowałeś, było w rzeczywistości podstawą mojego stwierdzenia: „W jego artykule w YAML wymieniono oba rozszerzenia, bez uprzedzeń” (teraz zmieniono na „bez wyrażania preferencji”). Ludzie używają obu rozszerzeń; jednak dominuje „.yml”.
MarkDBlackwell
19
Zawsze pamiętaj, że Wikipedia to encyklopedia współpracy . I redagował stronę ujednoznaczniającą yml do refleksji, że jest to po prostu „ wspólne rozszerzenie” zamiast „ rozszerzenie”.
NiñoScript
2
Od wielu lat istnieje język YML (znacznik generujący XML), może nawet tak długi jak YAML. Twoja liczba wyszukiwań w Google się nie liczyła, prawdopodobnie zliczono referencje YML, a także wadliwe referencje YAML. YAML nie jest nadmierną specyfikacją, używa odpowiedniej nazwy, aby zapobiec pomyłkom.
Anthon
4

Po przeczytaniu wielu komentarzy na ten temat w Internecie, moją pierwszą reakcją było to, że jest to w zasadzie jedna z tych naprawdę nieistotnych debat. Jednak moim początkowym zainteresowaniem było znalezienie odpowiedniego formatu, dzięki czemu mogłem być zgodny z moją praktyką nazywania plików.

Krótko mówiąc, twórca YAML mówi .yaml, ale ja osobiście ciągle to robię .yml. To ma dla mnie więcej sensu . Wyruszyłem w podróż, aby znaleźć potwierdzenie i wkrótce zdaję sobie sprawę, że doker używa .ymlwszędzie. docker-compose.ymlCały czas piszę pliki, a ty wciąż widzisz w dokumentach kubernetes kubectl apply -f *.yaml...

Podsumowując, oba formaty są oczywiście akceptowane i jeśli jesteś na drugim końcu (tj. Pisząc systemy, które otrzymują plik YAML jako dane wejściowe), powinieneś zezwolić na oba. To wygląda na kolejną skrzynkę węża kontra futerał na wielbłąda ...

JackyJohnson
źródło
2
Więc co ma większy sens, aby korzystać w yml języku konkretnej domeny (który został wokół za prawdopodobnie tak długo, jak YAML): ten .yl, .ymlub na .mlrozszerzenie?
Anthon
2

.yamljest najwyraźniej oficjalnym rozszerzeniem, ponieważ niektóre aplikacje zawodzą podczas używania .yml. Z drugiej strony nie znam żadnych aplikacji, które używają kodu YAML, ale nie działają z .yamlrozszerzeniem.

Natknąłem się na to, ponieważ byłem przyzwyczajony do pisania .ymlw Ansible i Docker Compose. Z przyzwyczajenia korzystałem .ymlpodczas pisania plików Netplan, które zawiodły w trybie cichym. W końcu zrozumiałem swój błąd. Autor popularnej roli Ansible Galaxy dla Netplan przyjmuje to samo założenie w swoim kodzie:

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

Jednak wszystkie pliki z .ymlrozszerzeniem są ignorowane przez Netplan w taki sam sposób, jak pliki z .bakrozszerzeniem. Ponieważ Netplan jest bardzo cichy i nie przekazuje żadnych informacji zwrotnych na temat sukcesu, nawet przy netplan apply --debugtakiej konfiguracji, 01-netcfg.ymlktóra zawiedzie bezgłośnie bez żadnej znaczącej informacji zwrotnej.

ChrisW
źródło
-1

Po prostu opowiadam ... Yaml to schemat / typ pliku, a „.yml” to rozszerzenie pliku podobne do pliku tekstowego i „.txt” dla rozszerzeń.

hemantsharma
źródło
Czy jest na to dobre wytłumaczenie? Jeśli z oficjalnych dokumentów wynika, że ​​przedłużenie powinno być .yaml, dlaczego głosujecie przeciwko temu?
Nico Haase