Swift Language

SKILL.md

Swift Language Standards

Priority: P0

Implementation Guidelines

Optionals & Safety

  • Never Force Unwrap: Use guard let, if let, or nil coalescing (??).
  • Nil Comparison: Use value != nil instead of if let _ = value.
  • Implicitly Unwrapped: Avoid Type!. Use proper Type?.

Protocols & Extensions

  • Protocol Composition: Prefer struct + protocols over class inheritance.
  • Extensions: Use for conformance (extension MyType: Codable), not storage.
  • Protocol Witnesses: Explicitly implement all required members.

Type Safety

  • Avoid Any: Use generics or associated types instead.
  • Enums: Prefer enums with associated values over multiple Optionals.
  • Value Types: Default to struct unless reference semantics needed.

Anti-Patterns

  • Force Unwrapping: **No ! operator**: Use safe unwrapping.
  • Sentinel Values: **No -1 for failure**: Use Optional.
  • as! Casting: **No Force Cast**: Use conditional cast (as?).

References

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