SwiftLint – iOS 应用程序代码检查

用风格编写干净的代码

SwiftLint 是一个快速的代码风格分析工具,有助于标记风格错误 **** 在代码中。 SwiftLint 强制执行 Swift 社区普遍接受的样式指南规则。开发人员可以设置他们的编码风格规则并在开发过程中强制它们。如果代码违反 linting 规则,它将显示警告和/或错误。

SwiftLint 鼓励实现以下目标:

  1. 增加意图的清晰度。
  2. 保持更高水平的代码纪律。
  3. 提高代码的可靠性。
  4. 生成质量代码。
  5. 提高严谨性,并降低程序员出错的可能性。

开发人员/项目团队使用 SwiftLint 的原因

  1. 一致性:- Swiftlint 提供 C 模式、缩进、间距、样式和命名的一致性。当代码具有这些东西时,它更容易使用并且可以更有信心地更快地开发。不一致的代码会阻止您的同行创建支持和扩展代码库所需的适当结构。
  2. 可读性:- 可读性是以一种能够被包括新成员在内的团队成员轻松阅读和理解的方式编写和呈现代码。 SwiftLint 检查模式、缩进、间距、样式和命名是否有任何规则紫罗兰色它会产生错误/警告,您可以专注于核心功能。
  3. 质量代码:- 在团队中工作时它很有用,因为当代码不符合标准时会产生警告和错误。 SwiftLint 分析器评估代码库的质量,并在代码违反 linting 规则时发出警告和错误。

安装 SwiftLint

安装 SwiftLint 的方法有很多。少数如下。

使用自制软件:

 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 冲泡安装 swiftlint

使用 可可豆荚

只需将以下行添加到您的 Podfile 中。

 豆荚'SwiftLint'

这将下载 SwiftLint 二进制文件和依赖项 豆荚/ 在你的下一个 吊舱安装 从终端执行。这是在 Xcode 中安装特定版本的 SwiftLint 的推荐方法,因为它支持安装固定版本而不是简单的最新版本(Homebrew 就是这种情况)

你可以找到更多的安装方法 这里 .

Xcode 中的用法

要在 SwiftLint 集成到 Xcode 项目后在问题导航器中显示警告和错误,我们需要在运行脚本阶段添加一个 shell 脚本,步骤如下。

  • 在浏览器中选择项目。

  • 选择目标。

  • 选择构建阶段选项卡。

  • 点击更多 (+)。

  • 选择 新的运行脚本阶段 并粘贴以下脚本。

  • 运行并构建应用程序。

    出口 PATH=”$PATH:/opt/homebrew/bin”
    如果 其中 swiftlint > /dev/null; 然后
    快速林特
    别的
    回声 “警告:未安装 SwiftLint,请从 https://github.com/realm/SwiftLint 下载”

将脚本添加到构建阶段后,会在每次构建应用程序时检查 SwiftLint 规则。

Xcode 中的错误类型

SwiftLint 使用两种类型的 Xcode 错误。

  • 警告 ,这不会阻止应用程序的启动。
  • 红色错误 , 阻止应用程序启动并向您显示构建失败消息。

如果您转到问题导航器,您会发现底部有多个选项。您会发现所有 SwiftLint 错误都在构建时(编译)错误上。

禁用和 C 配置r 代码中的规则

SwiftLint 可以通过添加一个 .swiftlint.yml 到您的回购的根目录。该文件位于项目的主路径中。我们可以在这个 YML 文件中启用、禁用或编写自定义规则。如果项目中还没有 .swiftlint.yml 配置文件,则需要将其添加到项目中。

**1) 更改规则设置
** 例如,如果一行太长且超过 120 个字符,我们将发出“警告”。但如果它超过 200 个字符,则会被视为不必要的长,我们会收到“红色错误”。

 #类型名称  
 **类型名称:**  
 最小长度:2  
 最长长度:  
 警告:50  
 错误:100  
 allowed_symbols:“_”  
      
 #标识符名称  
 **标识符名称:**  
 最小长度:2  
 最长长度:  
 警告:120  
 错误:200  
 allowed_symbols:“_”

**2)在项目中禁用规则
** SwiftLint 提供了一组默认规则,您还可以禁用任何特定规则。你可以找到更多规则 这里 .

**disabled_rules: # 排除运行的规则标识符**  
 - trailing_whitespace  
 - statement_position  
 - 未使用的可选绑定  
 - trailing_whitespace

**3)在linting期间排除代码
** 如果您想排除特定代码,例如 第三方库/pod 您也可以在 .swiftlint.yml 文件中执行此操作。

**排除:# 在 linting 期间要忽略的路径。优先于 `included`。  
** - 豆荚  
 - SwiftLint/Common/3rdPartyLib

**4)禁用特定文件或行中的规则
** 要禁用任何规则,您可以使用以下注释。在此评论之后,该规则将针对整个文件禁用。
// swiftlint: 禁用 rule_identifier

如果您只想在下一行代码中使用以下注释禁用规则:
// swiftlint:disable:next rule_identifier

您还可以禁用当前行和上一行中的规则 swiftlint:禁用:这个 swiftlint:disable:previous 分别。

下面是一个基于 SwitLint 官方文档的 .swiftlint.yml 配置文件示例。

.swiftlint.yml

自动更正和自动修复 SwiftLint 错误

如果您还希望修复违规行为,则需要添加 swiftlint --修复 && swiftlint 在脚本中,而不仅仅是 快速林特 并运行/构建应用程序。这将意味着所有可纠正的违规都得到修复,同时确保在您的项目中显示剩余违规的警告。

确保在运行之前备份这些文件 swiftlint——修复 ,否则可能会丢失重要的数据、文件、代码。

结论

SwiftLint 是开源的,它强制开发人员拥有代码样式和准则。在 swift 项目中设置和免费使用更简单。对于那些想要编写更好且易于维护的代码的人来说,它是一个很好的工具。它还可以帮助新团队成员学习和适应编码标准。

感谢阅读,可以关注我 中等的 对于更新的文章。

如果您有任何意见、问题或建议,请随时在下面的评论部分发表! 请 分享 并给 拍手 如果你喜欢 这个帖子。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/39908/33383009

版权声明:本文为amboke原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/amboke/p/16743819.html