SwiftLint是一個Realm Inc 創建和維護的,用於強制檢查Swift代碼風格和規定的一個工具,基本上以GitHub’s Swift 代碼風格指南爲基礎。git
這裏記錄我的的使用,詳細見官方中文文檔。github
/注:Mac/swift
使用Homebrew安裝全局配置,打開終端輸入如下命令:bash
brew install swiftlint
ide
SwiftLint安裝完成後,須要在工程中設置相關腳本,才能自動檢測代碼規範。 配置步驟以下圖:函數
腳本:工具
if which swiftlint >/dev/null; then
swiftlint
else
echo 「warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint」
fi
複製代碼
配置完成後,項目編譯時SwiftLint會進行規範檢查,並給出黃色警告或者紅色錯誤提示。ui
支持爲項目制定自定義的規則,也支持針對特定文件制定規則。spa
touch .swiftlint.yml
open .swiftlint.yml
excluded: # 執行 linting 時忽略的路徑。 優先級比 `included` 更高。
- Pods # 忽略經過CocoaPods倒入的第三方庫
#- Source/ExcludedFolder # 指定精確路徑下的目錄
#- Source/ExcludedFile.swift # 指定精確路徑下的文件
disabled_rules: # 執行時排除掉的規則
- identifier_name # 命名規則必須按照駝峯原則,與後臺傳的Json字段命名衝突,建議排除掉
- trailing_whitespace # 每個空行不能有空格,會與Xcode換行後自動對齊生成的空格衝突,建議排除掉
force_cast: warning # 類型判斷
force_try: warning # try語句判斷
cyclomatic_complexity: 20 #代碼複雜度,默認爲10
line_length: # 單行代碼長度,默認error 120
warning: 120
error: 200
file_length: # 文件長度
warning: 500
error: 1200
function_body_length: # 函數體長度
warning: 100
error: 300
複製代碼
能夠經過在一個源文件中定義一個以下格式的註釋來關閉某個規則: // swiftlint:disable <rule>
代碼規範
在該文件結束以前或者在定義以下格式的匹配註釋以前,這條規則都會被禁用: // swiftlint:enable <rule>