Rakuyo Swift 风格指南

本风格指南衍生自 Airbnb,经过修改和扩展,并将命名空间重命名为 Rakuyo

目标

遵循本风格指南应能:

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

指导原则

asdf/mise 插件

RakuyoKit/asdf-swift-style-guide 是一个 asdf 插件 (它也支持 mise)。

您可以通过此插件下载 lint、格式化和其他配置文件,然后以您喜欢的方式自由执行相关命令。

Swift Package Manager 命令插件

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

dependencies: [
  .package(url: "https://github.com/RakuyoKit/swift", from: "1.4.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 RakuyoSwiftFormatTool

# 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 这个指南,并根据您团队的风格指南更改规则。您可以在下面列出对风格指南的一些修改。 这使您可以定期更新您的风格指南,而无需处理合并冲突。

⬆ 返回顶部