Swiftlint帮你定规范
2020-06-03 本文已影响0人
dpplh
前言
- 程序员写代码总是自我感觉良好,使用插件来规范下还是很有必要的
- Swiftlint是Realm公司的一个插件,专门用于管理Swift代码规范
以下为CocoaPods用法,如需使用全局配置传送门
部署
1、 导入Swiftlint
podfile添加:
$ pod 'SwiftLint'
2、 添加脚本
Target>Build Phases

3、 build起来
⚠️惊不惊喜,一堆警告和报错!

4、 添加配置文件【.swiftlint.yml】
文件目录如下:

5、 去除Pods影响

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

6、开始修改代码⚠️警告和报错
例如以下强制解包错误:

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

保存然后build起来

7、 禁用指定规则


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
使用记得编译系统即可。

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

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