Swift Best Practices

SKILL.md

Swift Best Practices

Priority: P0

Implementation Guidelines

Control Flow

  • Guard for Early Exit: Use guard over nested if for better readability.
  • for-where: Use for item in items where condition instead of nested if.
  • Switch Exhaustiveness: Always handle all cases; use @unknown default for enums.

Value Types & Immutability

  • Prefer Structs: Use struct by default; classes only for reference semantics or inheritance.
  • Immutability: Use let over var whenever possible.
  • Copy-on-Write: Leverage Swift's built-in COW for collections.

Naming & Style

  • Clear Intent: isEnabled, hasData, canSubmit for Booleans.
  • Avoid Abbreviations: userRepository not userRepo.
  • Type Inference: Let compiler infer types unless clarity requires annotation.

Anti-Patterns

  • Nested If: **No Pyramid of Doom**: Use guard.
  • Mutable Globals: **No var at Global Scope**: Use constants or dependency injection.
  • Force Try: **No try!**: Handle errors properly.

References

Weekly Installs
0
GitHub Stars
339
First Seen
Jan 1, 1970