Airbnb Swift 风格指南

目标

遵循本风格指南应该:

请注意,简洁不是主要目标。只有当其他良好的代码质量(如可读性、简洁性和清晰性)保持不变或得到改进时,才应使代码更简洁。

指导原则

Swift Package Manager 命令插件

这个 repo 包含一个 Swift Package Manager 命令插件,您可以使用它根据风格指南自动重新格式化或检查您的包。要将此命令插件与您的包一起使用,您只需将此 repo 添加为依赖项

dependencies: [
  .package(url: "https://github.com/airbnb/swift", from: "1.0.0"),
]

然后在您的包目录中运行 format 命令插件

$ swift package format
使用指南
# Supported in Xcode 14+. Prompts for permission to write to the package directory.
$ swift package format

# When using the Xcode 13 toolchain, or a noninteractive shell, you must use:
$ swift package --allow-writing-to-package-directory format

# To just lint without reformatting, you can use `--lint`:
$ swift package format --lint

# By default the command plugin runs on the entire package directory.
# You can exclude directories using `exclude`:
$ swift package format --exclude Tests

# Alternatively you can explicitly list the set of paths and/or SPM targets:
$ swift package format --paths Sources Tests Package.swift
$ swift package format --targets AirbnbSwiftFormatTool

# The plugin infers your package's minimum Swift version from the `swift-tools-version`
# in your `Package.swift`, but you can provide a custom value with `--swift-version`:
$ swift package format --swift-version 5.3

如果存在需要注意的 lint 失败,包插件将返回一个非零退出代码。

目录

  1. Xcode 格式化
  2. 命名
  3. 风格
    1. 函数
    2. 闭包
    3. 运算符
  4. 模式
  5. 文件组织
  6. Objective-C 互操作性
  7. 贡献者
  8. 修正

Xcode 格式化

您可以通过运行 此脚本 在 Xcode 中启用以下设置,例如,作为“运行脚本”构建阶段的一部分。

⬆ 返回顶部

命名

⬆ 返回顶部

风格

函数

闭包

运算符

⬆ 返回顶部

模式

⬆ 返回顶部

文件组织

⬆ 返回顶部

Objective-C 互操作性

⬆ 返回顶部

贡献者

⬆ 返回顶部

修正

我们鼓励您 fork 此指南并更改规则以适应您团队的风格指南。 您可以在下面列出对风格指南的一些修改。 这允许您定期更新您的风格指南,而无需处理合并冲突。

⬆ 返回顶部