前言

这里只是简单对比yaml 与 yml


1. 基本概念

  • YAML (YAML Ain’t Markup Language)
    一种人类友好的数据序列化标准,2001年由Clark Evans等人提出,扩展名为.yaml

  • YML
    本质是YAML的简写文件扩展名(早期Windows系统限制扩展名长度),技术上无区别


2. 发展时间线

时间 事件
2001 YAML 1.0规范发布,官方推荐.yaml扩展名
2002-2004 早期开发者因Windows 9x系统限制(仅支持3字符扩展名)开始使用.yml
2004 YAML 1.1发布,仍建议使用.yaml
2009 YAML 1.2发布,扩展名争议持续存在
现今 主流工具同时支持两种扩展名

3. 技术对比

维度 YAML (.yaml) YML (.yml)
文件识别 官方推荐格式 历史遗留格式
兼容性 所有现代工具支持 可能存在极少数工具识别问题
性能 无差异(相同解析器处理) 无差异
规范支持 官方文档明确推荐 非官方约定俗成

4. 典型使用场景

  • .yaml 更常见于

    • Kubernetes 配置文件
    • Ansible Playbooks
    • CI/CD 配置文件(如GitLab CI)
    • 开源项目规范文档
  • .yml 更常见于

    • 遗留系统配置
    • Ruby on Rails框架配置
    • 早期Docker Compose文件

5. 总结建议

  1. 优先选择.yaml(符合官方规范,减少潜在兼容性问题)
  2. 保持项目统一(团队/项目内部应统一扩展名)
  3. 历史项目处理:旧系统可保留.yml,新文件建议用.yaml
  4. 技术本质:两者在数据存储和解析性能上完全等同