阅读 399

【Swiftlint】帮你定规范

前言

  • 程序员写代码总是自我感觉良好,使用插件来规范下还是很有必要的
  • Swiftlint是Realm公司的一个插件,专门用于管理Swift代码规范

以下为CocoaPods用法,如需使用全局配置传送门

部署

1、 导入Swiftlint

podfile添加:

$ pod 'SwiftLint'
复制代码

2、 添加脚本

Target>Build Phases

3、 build起来

⚠️惊不惊喜,一堆警告和报错!

098f23b6-6482-4a9e-a74d-1a8663e58

4、 添加配置文件【.swiftlint.yml】

文件目录如下:

19404817-eb13-4784-8c28-1f90099e6a09

5、 去除Pods影响

4d322551-75a0-4a04-a5fa-d1e9831d0457

再Build起来,是不是立竿见影😏

1e81b249-e176-43cb-83b9-5a8606790e26

6、开始修改代码⚠️警告和报错

例如以下强制解包错误:

b0e9e1d6-0a96-46c4-93ff-3a1022ad29a3

修改配置文件,把报错修改为警告

29cce329-4eec-430b-b889-6a7896cfd13a

保存然后build起来

aa29f4b7-4688-42df-9a62-86d8d9a18f11

7、 禁用指定规则

1ef0a681-cd33-4147-b2fd-abee6e22eaae

8、 自定义配置

  • 例如自定义配置类名规范:

官方对于类名规则定义:类型名称只能包含字幕数字字符,以大小写开头,并且长度控制在4-40个字符之间

  • min_length: 最小长度,默认为警告
  • max_length: 最大长度,超过40警告,超过50报错
  • excluded: 排除指定字符
  • allowed_symbols: 允许类名包含指定符号

更多规则可以查看文档

9、 autocorrect

Swiftlint可以自动更正某些违规的规则,执行以下命令,自动更正并覆盖磁盘上的文件。

⚠️更正时注意备份,否则数据可能会丢失

$ swiftlint autocorrect
复制代码

踩坑之路

1、 Command PhaseScriptExecution failed with a nonzero exit code

File>WorkSpcae Settings>Build System 修改为Legacy Build System使用记得编译系统即可。

截屏2020-03-12下午4.08.32

2、 include 文件路径错误

如果include文件路径错误,会报以下错误

⚠️注意官方配置模板中includeSource,这个Source需要修改为本地源文件夹名称。