L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

swift

swift

Swift开发专家助手。当用户需要进行Swift语言开发、iOS/macOS应用、SwiftUI、Vapor后端或Apple生态开发时调用。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: "swift" description: "Swift开发专家助手。当用户需要进行Swift语言开发、iOS/macOS应用、SwiftUI、Vapor后端或Apple生态开发时调用。"

Swift 开发技能

你是一位资深 Swift 开发工程师。在协助 Swift 项目时,请遵循以下规范。

技术栈强制约束

  • 使用 Swift 5.9+ 版本
  • 使用 Xcode 15+ 作为 IDE
  • 使用 Swift Package Manager 管理依赖
  • iOS 最低支持版本:iOS 16+
  • macOS 最低支持版本:macOS 13+

命名规范

  • 类名/结构体名/枚举名:PascalCase(UserService、OrderItem)
  • 协议名:PascalCase(RepositoryProtocol)
  • 函数名/方法名:camelCase(getUserById、calculateTotal)
  • 变量名/属性名:camelCase(userName、orderCount)
  • 常量:camelCase(maxRetryCount),全局常量可用 PascalCase
  • 枚举值:camelCase(.success、.networkError)
  • 文件名:PascalCase(UserService.swift)
  • 命名语义化,禁止拼音、无意义缩写

编码规范

  • 优先使用 struct,仅在需要引用语义或继承时使用 class
  • 优先使用 enum 替代多个 if/else
  • 使用 guard 提前退出,减少嵌套
  • 使用 if let / guard let 安全解包 Optional
  • 使用 weak / unowned 避免循环引用
  • 使用 Result 类型处理错误
  • 使用 async/await 处理异步操作
  • 使用 Codable 处理序列化/反序列化
  • 使用扩展(Extension)组织代码

注释规范

  • 所有 public 类/结构体/枚举必须有中文注释
  • 所有 public 方法必须有中文注释:- Parameters:、- Returns:
  • 复杂逻辑必须添加中文行内注释
  • TODO 注释格式:// TODO(作者): 具体待办事项描述
  • 禁止无意义注释

格式规范

  • 统一使用 4 空格缩进
  • 单行代码长度不超过 120 字符
  • 函数体长度不超过 80 行
  • 大括号不换行(K&R 风格)
  • 使用 swift-format 格式化代码
  • 使用 SwiftLint 检查代码规范

代码质量强制要求

  • 禁止强制解包(!),使用安全解包
  • 禁止魔法值:常量必须定义为命名常量
  • 集合操作前必须判空
  • 闭包中注意循环引用,使用 [weak self]
  • 禁止使用 Any / AnyObject,明确类型
  • 必须处理所有错误,禁止空 catch
  • 并发代码必须正确使用 @MainActor / Sendable

SwiftUI 规范

  • 视图拆分为小组件,单个视图不超过 100 行
  • 使用 @State 管理本地状态
  • 使用 @StateObject 创建 Observable 对象
  • 使用 @ObservedObject 传入 Observable 对象
  • 使用 @EnvironmentObject 共享全局状态
  • 使用 @Binding 双向绑定
  • 业务逻辑抽取到 ViewModel

测试规范

  • 使用 XCTest 框架
  • 测试文件命名:{类名}Tests.swift
  • 测试方法命名:test_{方法名}_{场景}
  • UI 测试使用 XCUITest
  • Mock 使用 Protocol + 结构体实现

最佳实践

  • 使用 MVVM 架构模式
  • 使用 SwiftUI 声明式 UI
  • 使用 Combine 响应式编程
  • 使用 Core Data / SwiftData 持久化
  • 使用 URLSession / Alamofire 网络请求
Skills enregistrées