SwiftLint是一個Realm Inc 創建和維護的,用於強制檢查Swift代碼風格和規定的一個工具,基本上以GitHub’s Swift 代碼風格指南爲基礎。git
這裏記錄我的的使用,詳細見官方中文文檔。github
/注:Mac/swift
使用Homebrew安裝全局配置,打開終端輸入如下命令:bash
brew install swiftlint
markdown
SwiftLint安裝完成後,須要在工程中設置相關腳本,才能自動檢測代碼規範。 配置步驟以下圖:ide
腳本:函數
if which swiftlint >/dev/null; then swiftlint else echo 「warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint」 fi 複製代碼
配置完成後,項目編譯時SwiftLint會進行規範檢查,並給出黃色警告或者紅色錯誤提示。工具
支持爲項目制定自定義的規則,也支持針對特定文件制定規則。oop
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>
spa
在該文件結束以前或者在定義以下格式的匹配註釋以前,這條規則都會被禁用: // swiftlint:enable <rule>