CommunityProgramación y desarrollogithub.com

johnrogers/swift-style

Convenciones de estilo de código Swift para código limpio y legible. Úsalo al escribir código Swift para garantizar formato, nomenclatura, organización y patrones idiomáticos consistentes.

¿Qué es swift-style?

Este skill define las convenciones de estilo de código Swift para generar código limpio, legible y mantenible. Está diseñado para desarrolladores que trabajan con Swift en plataformas como iOS, macOS, watchOS, tvOS o aplicaciones del lado del servidor con frameworks como Vapor. El skill estandariza el formato (espaciado, indentación, uso de punto y coma), las reglas de nomenclatura (camelCase, PascalCase para tipos, mayúsculas para acrónimos), la organización del código (estructura de archivos, agrupación de extensiones, orden de miembros) y los patrones idiomáticos (uso de optionals seguros, manejo de errores con do-catch, preferencia por structs inmutables, y uso de enums como namespaces). También promueve buenas prácticas como el acceso controlado (private, public, internal) y la composición sobre herencia. Es compatible con cualquier editor que soporte reglas de linting como SwiftLint y formateo automático, y su aplicación puede realizarse de forma manual o mediante herramientas de CI/CD.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/johnrogers/claude-swift-engineering/tree/main/skills/swift-style

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace swift-style?

Convenciones de estilo de código Swift para código limpio y legible. Úsalo al escribir código Swift para garantizar formato, nomenclatura, organización y patrones idiomáticos consistentes.

Convenciones Generales

  • Indentación: 4 espacios. No uses tabuladores.
  • Punto y coma: No uses punto y coma al final de las líneas.
  • Longitud de línea: Máximo 120 caracteres por línea.
  • Espacios: Deja un espacio antes y después de los operadores (ej. let x = 5).

Nomenclatura

  • Tipos (clases, structs, enums, protocolos): Usa PascalCase (MyClass, UserData).
  • Variables y constantes: Usa camelCase (myVariable, userName).
  • Acrónimos: En mayúsculas si tienen 2 letras (URL, ID), como una palabra normal si tienen más (Html, Xml).
  • Funciones: Usa camelCase, comenzando con verbo (fetchUser(), updateProfile()).
  • Enums: Casos en camelCase (Swift moderno) o kebab-case (Swift antiguo). Prefiere camelCase.

Organización del Código

  • Estructura de archivos: Un tipo principal por archivo. Nombra el archivo como el tipo.
  • Extensiones: Organiza lógica relacionada en extensiones. Marcarlas con // MARK: -.
  • Orden de miembros: Primero propiedades (almacenadas, luego computadas), luego inicializadores, luego métodos.
  • Importaciones: Agrupa las importaciones del sistema primero, luego las de terceros.

Patrones Idiomáticos

  • Optionals: Usa guard let para salidas tempranas y if let para contextos locales.
  • Manejo de errores: Prefiere do-catch con tipos de error conformes a Error.
  • Inmutabilidad: Usa let por defecto; solo usa var cuando sea necesario mutar.
  • Structs vs Clases: Usa structs para datos simples y mutables; usa clases para referencias compartidas y herencia.
  • Composición sobre herencia: Prefiere protocolos y composición en lugar de jerarquías profundas de clases.
  • Enums como namespaces: Usa enums sin casos para agrupar constantes o funciones relacionadas.

Herramientas

  • SwiftLint: Recomendado para verificar automáticamente el estilo.
  • Xcode: Configura las reglas de formato en las preferencias del editor.
  • Formato automático: Usa swift-format para aplicar el formato automáticamente.

Referencias

Skills relacionados