Swift CodeReview SwiftLint

github地址: https://github.com/realm/SwiftLint

安装和使用

-安装 没有使用pod安装 使用的是全局安装 感觉比较简单和适用

1 Using HomeBrew

brew install swiftlint

安装完成后在终端使用

swiftLint help

终端显示如下
Swift CodeReview SwiftLint_第1张图片
表示安装成功

2 配置Xcode

Swift CodeReview SwiftLint_第2张图片

copy进去就可以

if which swiftlint >/dev/null; then
swiftlint
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi

3 创建.swiftlint.yml 过滤不需要检测的文件 和 规则 (比如pod下的库 等等)

Swift CodeReview SwiftLint_第3张图片

Swift CodeReview SwiftLint_第4张图片

Swift CodeReview SwiftLint_第5张图片

Swift CodeReview SwiftLint_第6张图片

Swift CodeReview SwiftLint_第7张图片

Swift CodeReview SwiftLint_第8张图片

disabled_rules: # 执行时排除掉的规则
- colon
- comma
- control_statement
- line_length
- vertical_whitespace
- trailing_whitespace
opt_in_rules: # 一些规则仅仅是可选的
- empty_count
- missing_docs
# 可以通过执行如下指令来查找所有可用的规则:
# swiftlint rules
included: # 执行 linting 时包含的路径。如果出现这个 `--path` 会被忽略。
# - Source
excluded: # 执行 linting 时忽略的路径。 优先级比 `included` 更高。
- Carthage
- Pods
- Source/ExcludedFolder
- Source/ExcludedFile.swift

# 可配置的规则可以通过这个配置文件来自定义
# 二进制规则可以设置他们的严格程度
force_cast: warning # 隐式
force_try:
severity: warning # 显式
# 同时有警告和错误等级的规则,可以只设置它的警告等级
# 隐式
line_length: 200
# 可以通过一个数组同时进行隐式设置
type_body_length:
- 300 # warning
- 400 # error
# 或者也可以同时进行显式设置
file_length:
warning: 500
error: 1200
# 命名规则可以设置最小长度和最大程度的警告/错误
# 此外它们也可以设置排除在外的名字
type_name:
min_length: 4 # 只是警告
max_length: # 警告和错误
warning: 40
error: 50
excluded: iPhone # 排除某个名字
identifier_name:
min_length: # 只有最小长度
error: 4 # 只有错误
excluded: # 排除某些名字
- id
- URL
- GlobalAPIKey
reporter: "xcode" # 报告类型 (xcode, json, csv, checkstyle, junit, html, emoji)

4 修改原来不符合swiftLint规则的代码
cd 你的工程的根目录下这里写图片描述

Swift CodeReview SwiftLint_第9张图片

完成

5 举个栗子
Swift CodeReview SwiftLint_第10张图片

6 配置文件需要改一下

disabled_rules: # 执行时排除掉的规则
- colon
- comma
- control_statement
- line_length
- vertical_whitespace
- trailing_whitespace
opt_in_rules: # 一些规则仅仅是可选的
- empty_count
- missing_docs
# 可以通过执行如下指令来查找所有可用的规则:
# swiftlint rules
included: # 执行 linting 时包含的路径。如果出现这个 `--path` 会被忽略。
- Source
- 你的项目tag
excluded: # 执行 linting 时忽略的路径。 优先级比 `included` 更高。
- Carthage
- Pods
- Source/ExcludedFolder
- Source/ExcludedFile.swift

# 可配置的规则可以通过这个配置文件来自定义
# 二进制规则可以设置他们的严格程度
force_cast: warning # 隐式
force_try:
severity: warning # 显式
# 同时有警告和错误等级的规则,可以只设置它的警告等级
# 隐式
line_length: 200
# 可以通过一个数组同时进行隐式设置
type_body_length:
- 300 # warning
- 400 # error
# 或者也可以同时进行显式设置
file_length:
warning: 500
error: 1200
# 命名规则可以设置最小长度和最大程度的警告/错误
# 此外它们也可以设置排除在外的名字
type_name:
min_length: 4 # 只是警告
max_length: # 警告和错误
warning: 40
error: 50
excluded: iPhone # 排除某个名字
identifier_name:
min_length: # 只有最小长度
error: 4 # 只有错误
excluded: # 排除某些名字
- id
- URL
- GlobalAPIKey
reporter: "xcode" # 报告类型 (xcode, json, csv, checkstyle, junit, html, emoji)

你可能感兴趣的:(iOS,Swift,swift,swiftlint,CodeReview,ios)