用途:为开发者提供 Swift 语言最佳实践、模式与实现指导,适用于涉及 Swift 配置或环境变量、日志、测试等场景。
主要能力:按主题提供参考文件,包括 swift-configuration.md(从环境变量、文件、CLI 参数读取配置,提供者层级、命名空间、热重载、密钥处理)、swift-log.md(日志级别、结构化日志、库最佳实践、元数据、自定义处理器)、swift-otel.md(服务端应用 OpenTelemetry 后端,Linux 首选,日志/指标/追踪的 OTLP 导出与框架集成)、swift-testing.md(@Test 宏、#expect/#require 断言、traits、参数化测试、测试套件、并行执行、XCTest 迁移)、debugging.md(Linux 终端 UI 备用屏幕缓冲区、GitHub Actions 日志分析)。
编码约定:测试函数名优先使用反引号转义的句子式命名;类型与函数默认 internal,仅在需要外部使用时才 public;成员按 public、internal、private 排序,public 成员用 // MARK: - 主题分组,标题上下各留空行,采用现在进行时动名词短语;协议一致性按“is-a”内联声明、能力型协议放文件底部扩展并加 // MARK: - 协议名。
Foundation 规避:核心库代码尽量避免 Foundation,公共 API 不用 Data、Date、UUID 等,改用 [UInt8]、ContinuousClock.Instant 或自定义类型、基于字节的初始化器;始终使用 internal import Foundation 或 FoundationEssentials,绝不 public import。
平台与内存:平台特定实现用 +platform 后缀文件;Linux 同时支持 Glibc 与 Musl;选择逻辑用排序替代重复条件块。Swift 6.2+ 可启用 .strictMemorySafety(),Span 受生命周期约束,不能跨异步边界或逃逸闭包,解析用 Span、写入用 [UInt8];从字节安全加载整数应逐字节组装而非 unsafeLoad;LifetimeDependence 实验特性下可用 _read/_modify 返回 RawSpan/MutableRawSpan,注意 Swift 6.2.3 编译器已知问题;不可复制类型用 ~Copyable。
限制:资料未提供安装命令、收费、价格、平台支持范围或效果数据。