代码风格推荐
安装和使用SwiftLint
- 第一步:先安装homebrew
打开终端,输入以下命令
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 第二步:安装SwiftLint
brew install swiftlint
// 更新/升级SwiftLint到最新版本
brew upgrade swiftlint
- 第三步:Xcode添加脚本
if which swiftlint >/dev/null; then
swiftlint
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi
添加配置文件
(1) 第一步:在想要执行代码风格检查的文件夹新建一个名为.swiftlint.yml
的文件:cd 你要执行检查的文件,vim .swiftlint.yml
(2) 第二步:自定义规则:
-
disabled_rules
:禁用规则 -
opt_in_rules
:从默认的可用规则集合中,禁用规则 -
whitelist_rules
:白名单规则,只有在这个列表的规则才会被激活,在这个列表激活的规则不能出现在disabled_rules
或者opt_in_rules
。
自定义配置文件示例
disabled_rules: # 禁用规则
- colon
- comma
- control_statement
opt_in_rules: # 可选规则
- empty_count
- missing_docs
# 执行这个命令可以查看所有规则: swiftlint rules
included: # 指定需要进行风格检查的路径
- Source
excluded: # 指定不需要进行风格检查的路径,优先于included
- Carthage
- Pods
- Source/ExcludedFolder
- Source/ExcludedFile.swift
# 自定义某个规则
force_cast: warning # 隐式地
force_try:
severity: warning # 显式地
# 有warning和error的规则,可以仅仅设置warning
# 隐式地
line_length: 110
# 使用一个数组隐式地设置
type_body_length:
- 300 # warning
- 400 # error
# 或者显式地设置
file_length:
warning: 500
error: 1200
# 命名规则可以为min_length和max_length设置warnings或者errors
# 另外可以设置某些名字除外
type_name:
min_length: 4 # 只设置 warning
max_length: # 同时设置warning和error
warning: 40
error: 50
excluded: iPhone # 这些字符串除外
identifier_name:
min_length: # 只设置 min_length
error: 4 # 只设置 error
excluded: # 这些字符串除外
- id
- URL
- GlobalAPIKey
reporter: "xcode" # 指定报告类型 (xcode, json, csv, checkstyle, junit, html, emoji)
(3) 第三步:项目中实际使用
included:
- TDWCashLoan/Business/Me/Credit
excluded:
- Pods
disabled_rules:
- trailing_newline
- opening_brace
- empty_count
- comma
- colon
- force_cast
- type_name
- trailing_semicolon
- force_try
- function_body_length
- nesting
- variable_name
- operator_whitespace
- control_statement
- legacy_constant
- line_length
- return_arrow_whitespace
- trailing_whitespace
- closing_brace
- statement_position
- type_body_length
- todo
- legacy_constructor
- valid_docs
- missing_docs
- file_length
- leading_whitespace
(4) 第四步:swiftLint命令
autocorrect 自动更正warnings和errors
help 查看帮助
lint 查看当前文件夹的文件中的warnings和errors,这是默认命令
rules 查看所有规则
version 查看SwiftLint的版本
保险起见,先备份代码。先把所有想要检查的规则放大disabled_rules
,然后每删除一个规则,保存一下,xcode编译一次(或者在终端执行swiftlint
),一些规则可以自动解决,到具体的目录下执行:swiftlint autocorrect
,如果不能自动解决,那么需要手动一个个改,直到所有规则删除完为止
更新SwiftLint
如果SwiftLint有新版本,在终端执行brew upgrade swiftlint
,然后再编译一下,看看项目有哪些代码风格问题。