Swiftorial Logo
Home
Swift Lessons
Matchups
CodeSnaps
Tutorials
Career
Resources

YAML Best Practices

Introduction

YAML (YAML Ain't Markup Language) is a human-readable data serialization standard that can be used in conjunction with all programming languages and is often used to write configuration files. Understanding and applying best practices in YAML syntax ensures your YAML files are clear, maintainable, and error-free.

1. Consistent Indentation

YAML relies on indentation to denote structure. It is crucial to use consistent indentation throughout your YAML files. Typically, 2 or 4 spaces are used per indentation level. Avoid using tabs.

# Correct indentation
person:
  name: John Doe
  age: 30

# Incorrect indentation (mix of spaces and tabs)
person:
  name: John Doe
    age: 30
                

2. Use Meaningful Keys

Always use descriptive and meaningful keys in your YAML files. This will make the configuration more understandable.

# Good example
user:
  first_name: John
  last_name: Doe

# Bad example
u:
  fn: John
  ln: Doe
                

3. Avoid Trailing Spaces

Trailing spaces can cause errors in YAML parsing. Ensure that there are no trailing spaces at the end of lines.

# Incorrect
name: John Doe 

# Correct
name: John Doe
                

4. Use Comments for Clarity

Comments can help explain the purpose of certain configurations. In YAML, comments start with a #.

# This is a comment
user:
  name: John Doe  # Name of the user
  age: 30         # Age of the user
                

5. Avoid Long Lines

For better readability, avoid long lines. Break them into multiple lines using the folded style (>).

# Correct usage
description: >
  This is a long description
  that spans multiple lines
  for better readability.

# Incorrect usage
description: This is a long description that spans multiple lines for better readability.
                

6. Use Quoting Appropriately

Use quotes when dealing with special characters or strings that might be misinterpreted. Single quotes and double quotes can be used.

# Single quotes
path: '/usr/local/bin'

# Double quotes
message: "Hello, World!"
                

7. Properly Handle Boolean Values

YAML interprets certain strings as boolean values. Use true/false instead of yes/no to avoid ambiguity.

# Correct
is_active: true
is_admin: false

# Incorrect
is_active: yes
is_admin: no
                

8. Use Anchors and Aliases

Anchors (&) and aliases (*) allow you to duplicate content within a YAML document efficiently.

# Using anchors and aliases
defaults: &defaults
  adapter: postgres
  host: localhost

development:
  database: dev_db
  <<: *defaults

test:
  database: test_db
  <<: *defaults
                

9. Validate YAML Files

Always validate your YAML files to ensure they are correctly formatted. Tools like yamllint can be used for this purpose.

# Using yamllint
$ yamllint config.yaml
                

No errors found

10. Use Multi-document Files Carefully

YAML supports multiple documents in a single file, separated by ---. Use this feature carefully to avoid confusion.

# Multi-document YAML file
---
environment: development
database: dev_db
---
environment: production
database: prod_db
                

Conclusion

Following these best practices will help you write clean, readable, and maintainable YAML files. By adhering to consistent indentation, using meaningful keys, and validating your YAML files, you can avoid common pitfalls and errors.