Là nó .yaml hay .yml?


335

Theo yaml.org , phần mở rộng tập tin chính thức là .yaml.

Trích dẫn:

Có một phần mở rộng chính thức cho các tệp YAML?

Vui lòng sử dụng ".yaml" khi có thể.

Tuy nhiên, dường như có một sự bất đồng trên internet về việc sử dụng tiện ích mở rộng nào. Nếu bạn tìm kiếm các ví dụ trên web , nhiều người trong số họ sử dụng .ymltiện ích mở rộng không được cung cấp .

Tìm kiếm Google trả về gần gấp 3 lần kết quả cho kết quả ngắn hơn.


nhập mô tả hình ảnh ở đây
49.100


nhập mô tả hình ảnh ở đây
15.400


Vì vậy, tôi nên sử dụng? Phần mở rộng 4 chữ cái thích hợp được đề xuất bởi người tạo hoặc phần mở rộng 3 chữ cái được tìm thấy ở phía tây hoang dã của internet?


3
Có lẽ công chúng nên khiếu nại ở đây và yêu cầu họ thay đổi đề xuất chính thức thành ".yml". Các tổ chức (và người sáng lập) tự nhiên có thể "chậm", nhưng có lẽ họ có thể bị thuyết phục theo cách sử dụng trong thế giới thực (nếu chỉ để truyền giáo ngôn ngữ hơn nữa).
MarkDBlackwell

3
@AndrewWagner, nếu họ đổi rec thành .yml, thì mọi người có thể đổi thành .yaml:-)
go2null

4
yaml.org/faq.html -> Sử dụng .yaml
Wannes

6
Tôi không chắc yaml.org có nhiều sự giúp đỡ khi họ vẫn hiển thị:© 2001-2006 YAML.org All Rights Reserved
sean

6
Bạn đang sử dụng .htm hoặc .html bây giờ? Nếu bạn vẫn gắn bó với .htm, thì có lẽ .yml là lựa chọn phù hợp với bạn. Nếu không, bạn có thể quen với việc sử dụng .yaml :-)
xorcus

Câu trả lời:


214

Bản chất và thậm chí sự tồn tại của các phần mở rộng tệp phụ thuộc vào nền tảng (một số nền tảng tối nghĩa thậm chí không có chúng, hãy nhớ) - trong các hệ thống khác, chúng chỉ là thông thường (UNIX và ilk của nó), trong khi các hệ thống khác chúng có ngữ nghĩa rõ ràng và trong một số trường hợp giới hạn cụ thể về độ dài hoặc nội dung ký tự (Windows, v.v.).

Vì các nhà bảo trì đã yêu cầu bạn sử dụng ".yaml", điều đó gần với phán quyết "chính thức" như bạn có thể nhận được, nhưng thói quen của 8.3 rất khó để thoát khỏi (và, thật kinh khủng, đôi khi vẫn có liên quan trong năm 2013).


4
Điều tồi tệ hơn là việc cài đặt Notepad ++ của tôi dường như đã hiểu sai điều này :-(
Samuel Harmer

35
Quy ước hậu tố 3 chữ cái đã lỗi thời trong gần 2 thập kỷ. Nếu có bất cứ điều gì, tôi cho rằng World Wide Web đã từ chối nó vào những năm 90. Thật khó chịu khi bất cứ ai cũng cố gắng quan tâm. Đủ để tôi gửi một lỗi đối với bất kỳ phần mềm nào bị hỏng vì nó.
Dave

3
Danh mục của Wikipedia : Trang Filename_extensions liệt kê các mục cho .a , .o.z . Bằng cách nào đó, nó đã bỏ lỡ .c và .h . Các phần mở rộng một chữ cái này giúp chúng ta thấy rằng các phần mở rộng nên miễn là cần thiết, nhưng không còn nữa (để trích dẫn một nửa A. Einstein ).
MarkDBlackwell

19
Tôi đặt tên cho tập tin của tôi .ymlvà bạn không thể làm gì để chống lại nó.
bvdb

4
@Dave tôi sẽ ghi nhớ thông tin phản hồi có giá trị của bạn. ( lưu phản hồi của bạn vào DOCUME~1.HTM. )
bvdb

32

BIÊN TẬP:

Vì vậy, tôi nên sử dụng? Phần mở rộng 4 chữ cái thích hợp được đề xuất bởi người tạo hoặc phần mở rộng 3 chữ cái được tìm thấy ở phía tây hoang dã của internet?

Câu hỏi này có thể là:

  1. Yêu cầu tư vấn; hoặc là

  2. Một biểu hiện tự nhiên của cảm xúc đặc biệt đó đã được trải nghiệm, trong khi người ta đang quan sát rằng một số khuyến nghị chính thức đang bị coi thường là một cách nổi bật, hay thậm chí là chủ yếu.

Mọi người khác nhau về cơ duyên của họ sau đây:

  1. Tư vấn chính thức; hoặc là

  2. Sự vượt trội của thực tiễn.

Tất nhiên, tôi không có khả năng ảnh hưởng đến bạn, liên quan đến con đường nào trong hai con đường bạn muốn đi!

Trong phần tiếp theo (và, theo tinh thần khoa học), tôi chỉ đưa ra một giả thuyết, về những gì (chỉ là vấn đề thực tế) đã dẫn đến phần lớn mọi người sử dụng phần mở rộng 3 chữ cái. Và, tôi tập trung vào nguyên nhân hiệu quả.

Bằng cách này, tôi không có ý định hô hào đạo đức. Như bạn có thể nhớ lại, thực tế là một cái gì đó, không ngụ ý rằng nó nên được.

Dù thiên hướng cá nhân của bạn là gì, có thể đi theo con đường này hay con đường khác, tôi không phản đối.

(Kết thúc chỉnh sửa.)

Gợi ý, rằng sở thích này (trong sử dụng thực tế) là do giới hạn của 8.3 ký tự DOS, IMO là một cá trích đỏ (sai lầm và sai lệch).

Tính đến tháng 8 năm 2016, số lượng tìm kiếm của Google cho YML và YAML là khoảng 6.000.000 và 4.100.000 (đến hai chữ số chính xác). Hơn nữa, số lượng "YAML" không cao vì nó bao gồm việc đề cập đến ngôn ngữ theo tên, ngoài việc sử dụng nó như một phần mở rộng.

Kể từ tháng 7 năm 2018, số lượt tìm kiếm của Google cho YML và YAML là khoảng 8.100.0004.100.000 (một lần nữa, với hai chữ số chính xác). Vì vậy, trong hai năm qua, YML về cơ bản đã tăng gấp đôi về mức độ phổ biến, nhưng YAML vẫn giữ nguyên.

Một biện pháp văn hóa khác là các trang web cố gắng giải thích các phần mở rộng tập tin. Ví dụ: trên trang web FilExt (kể từ tháng 7 năm 2018), trang dành cho YAML có kết quả: "Ooops! Cơ sở dữ liệu FILEXT.com không có bất kỳ thông tin nào về phần mở rộng tệp .YAML."

Trong khi đó, nó có một mục nhập cho YML , cho phép: "YAML ... sử dụng tệp văn bản và sắp xếp nó thành định dạng có thể đọc được. 'Database.yml' là một ví dụ điển hình khi YAML được sử dụng bởi Ruby on Rails để kết nối với cơ sở dữ liệu. "

Tính đến tháng Mười Một, 2014, bài viết trên Wikipedia về mở rộng YML vẫn tuyên bố rằng ".yml" là ' các phần mở rộng tập tin cho các định dạng file YAML' (nhấn mạnh thêm). Bài viết YAML của nó liệt kê cả hai phần mở rộng, mà không thể hiện một ưu tiên.

Phần mở rộng ".yml" đủ rõ ràng, ngắn gọn hơn (do đó dễ nhập và nhận dạng hơn) và phổ biến hơn nhiều.

Tất nhiên, cả hai phần mở rộng này đều có thể được xem là chữ viết tắt của phần mở rộng dài, có thể, ".yamlaintmarkuplingu". Nhưng các lập trình viên (và người dùng) không muốn gõ tất cả điều đó!

Thay vào đó, chúng tôi lập trình viên (và người dùng) muốn gõ càng ít càng tốt, nhưng vẫn không rõ ràng và rõ ràng. Và chúng tôi muốn xem nó là loại tập tin nào, càng nhanh càng tốt, mà không cần đọc một từ dài hơn. Gõ chỉ có bao nhiêu nhân vật hoàn thành cả hai mục tiêu này? Không phải là câu trả lời ba (3) sao? Nói cách khác, YML?

Danh mục của Wikipedia : Trang Filename_extensions liệt kê các mục cho .a , .o.Z . Bằng cách nào đó, nó đã bỏ lỡ .c và .h (được sử dụng bởi ngôn ngữ C). Những ví dụ về các phần mở rộng một chữ cái này giúp chúng ta thấy rằng các phần mở rộng nên dài như cần thiết, nhưng không còn nữa (để trích dẫn một nửa Albert Einstein).

Thay vào đó, hãy lưu ý rằng, nói chung, một số tiện ích mở rộng bắt đầu bằng "Y". Thông thường, mặt khác, chữ X được sử dụng cho rất nhiều ý nghĩa bao gồm "chéo", "mở rộng", "cực đoan", "biến", v.v. (ví dụ như trong XML). Vì vậy, bắt đầu bằng "Y" đã truyền tải nhiều thông tin (về mặt lý thuyết thông tin), trong khi bắt đầu bằng "X" thì không.

Về mặt ngôn ngữ học, do đó, từ viết tắt "XML" chỉ (theo một cách nào đó) chỉ có hai chữ cái thông tin ("M" và "L"). "YML", thay vào đó, có ba chữ cái thông tin ("M", "L" và "Y"). Thật vậy, tập hợp các từ viết tắt hiện có bắt đầu bằng Y dường như vô cùng nhỏ. Theo ngụ ý, đây là lý do tại sao một phần mở rộng tệp YAML bốn chữ cái cảm thấy quá mức cần thiết.

Có lẽ đây là lý do tại sao chúng ta thấy trong thực tế rằng áp lực "ngôn ngữ" (sử dụng tự nhiên) để kéo dài chữ viết tắt trong câu hỏi thành bốn (4) ký tự là yếu và áp lực "ngôn ngữ" để rút ngắn chữ viết tắt này thành ba (3) ký tự là mạnh mẽ

Hoàn toàn là kết quả của các yếu tố này (và không phải là sự chứng thực chính thức), tôi sẽ lưu ý rằng mục tin tức mới nhất của trang web YAML.org (từ tháng 11 năm 2011) là tất cả về một dự án được viết bằng JavaScript, JS-YAML , trong đó, bản thân nó, trong nội bộ thích sử dụng phần mở rộng ".yml".

Các yếu tố nêu trên có thể là những yếu tố chính; tuy nhiên, tất cả các yếu tố (được biết hoặc chưa biết) đã dẫn đến phần mở rộng ba (3) ký tự viết tắt trở thành một trong những phần được sử dụng chủ yếu cho YAMLlahoma mặc dù sở thích của các nhà phát minh.

".YML" dường như là tiêu chuẩn thực tế . Tuy nhiên, các nhà phát minh tương tự đã nhận thức và chính xác, về nhu cầu của thế giới về ngôn ngữ dữ liệu có thể đọc được của con người. Và chúng ta nên cảm ơn họ đã cung cấp nó.


1
Sử dụng phần mở rộng tệp ".yml" cho YAML liệt kê nhiều ví dụ cụ thể, đề xuất và cài đặt cấu hình mặc định thành ".yml" được tìm thấy trong tự nhiên.
MarkDBlackwell

1
Nếu bạn trích dẫn Wikipedia, tốt hơn bạn nên đọc thêm một chút: Bài viết của Yaml nói phần mở rộng Tên tệp : .yaml,.yml
Charles Follet

1
@CharlesFollet, những gì bạn trích dẫn trên thực tế là nền tảng của tuyên bố của tôi, "Bài viết YAML của nó liệt kê cả hai phần mở rộng, không có thành kiến" (hiện được chỉnh sửa thành "không thể hiện sở thích"). Mọi người sử dụng cả hai phần mở rộng; ".yml" chiếm ưu thế.
MarkDBlackwell

19
Luôn nhớ rằng Wikipedia là một bách khoa toàn thư hợp tác . Tôi chỉnh sửa các trang định hướng YML để phản ánh rằng nó chỉ là " một chung mở rộng" thay vì " các phần mở rộng".
NiñoScript

2
Đã có một ngôn ngữ cụ thể tên miền YML (đánh dấu tạo XML) trong nhiều năm, thậm chí có thể miễn là YAML. Số lượng tìm kiếm Google của bạn không được tính có khả năng đã đếm các tham chiếu YML cũng như các tham chiếu YAML bị lỗi. YAML không phải là quá cụ thể, nó đang sử dụng tên thích hợp để tránh nhầm lẫn.
Anthon

4

Sau khi đọc một loạt các bình luận của mọi người trên mạng về điều này, phản ứng đầu tiên của tôi là về cơ bản đây là một trong những cuộc tranh luận không quan trọng. Tuy nhiên, mối quan tâm ban đầu của tôi là tìm ra định dạng phù hợp để tôi có thể phù hợp với thực tiễn đặt tên tệp của mình.

Tóm lại, người tạo ra YAML đang nói .yaml, nhưng cá nhân tôi vẫn tiếp tục làm .yml. Điều đó chỉ có ý nghĩa hơn với tôi . Vì vậy, tôi đã đi trên hành trình tìm kiếm sự khẳng định và chẳng mấy chốc, tôi nhận ra rằng docker sử dụng .ymlở mọi nơi. Tôi đã viết docker-compose.ymlcác tập tin tất cả thời gian này, trong khi bạn tiếp tục nhìn thấy trong các tài liệu của kubernetes kubectl apply -f *.yaml...

Vì vậy, kết luận, cả hai định dạng rõ ràng đều được chấp nhận và nếu bạn ở đầu bên kia, (nghĩa là: các hệ thống ghi nhận tệp YAML làm đầu vào), bạn nên cho phép cả hai. Có vẻ như một trường hợp rắn khác so với trường hợp lạc đà ...


2
Vậy điều gì có ý nghĩa hơn cho bạn để sử dụng cho các YML ngôn ngữ miền cụ thể (mà đã được khoảng lẽ chừng nào YAML): các .yl, .ymhoặc .mlmở rộng?
Anthon

2

.yamlrõ ràng là phần mở rộng chính thức, bởi vì một số ứng dụng thất bại khi sử dụng .yml. Mặt khác, tôi không quen thuộc với bất kỳ ứng dụng nào sử dụng mã YAML, nhưng không thành công với .yamltiện ích mở rộng.

Tôi chỉ tình cờ thấy điều này, vì tôi đã quen viết .ymltrong Ansible và Docker Compose. Theo thói quen, tôi đã sử dụng .ymlkhi viết các tệp Netplan mà không thành công. Cuối cùng tôi đã tìm ra sai lầm của mình. Tác giả của vai trò Ansible Galaxy nổi tiếng cho Netplan đưa ra giả định tương tự trong mã của mình:

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

Tuy nhiên, bất kỳ tệp nào có .ymltiện ích mở rộng đều bị Netplan bỏ qua giống như các tệp có .baktiện ích mở rộng. Vì Netplan rất yên tĩnh và không đưa ra phản hồi nào về thành công, ngay cả với netplan apply --debug, một cấu hình như 01-netcfg.ymlsẽ thất bại trong âm thầm mà không có bất kỳ phản hồi có ý nghĩa nào.


0

Chỉ cần thuật lại ... Yaml là lược đồ / loại tệp và '.yml' là phần mở rộng tệp tương tự như tệp văn bản và '.txt' cho các tiện ích mở rộng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.