嘗試使用了一下SwiftLint, 真心是一個好東西, 強烈推薦給所有iOS開發(fā)者. 這是一個工具可以盡量將大家的代碼都統(tǒng)一成特定的模式, 減少合作開發(fā)的成本.?
代碼地址: https://github.com/realm/SwiftLint
可以在release里面直接下載pkg文件進(jìn)行安裝, 或者brew install安裝, 還有其他模式, 都不復(fù)雜.?
使用方法也非常簡單, 直接在命令行下執(zhí)行:
swiftlint 即可直接列舉本目錄下所有的swift代碼中的問題. 等同于swiftlint lint.?
swiftlint help 列舉具體的幫助文檔, 可以具體指定子命令來查看.?
swiftlint lint --path xxxxx.swift 指定某個具體的代碼文件進(jìn)行分析.?
當(dāng)然, 也可以直接在項目配置中加入, 直接在編譯代碼的時候, 自動執(zhí)行l(wèi)int. (官方網(wǎng)站有詳細(xì)的方法, 不再列舉)
但個人并不喜歡直接在項目配置中加入, 一是個人一直覺得項目的配置一定要簡單直觀; 二是一直會有一些奇怪的bug, 導(dǎo)致項目出點異常; 三是如果使用項目配置, 出錯的時候, 顯示的錯誤實在太多了, 代碼幾乎沒法看, 而lint錯誤很多時候, 并不影響代碼的使用, 破壞編譯, 個人覺得并不合理. 所以, 綜合來說, 使用命令行是最簡單有效的方式.?
我實踐的過程中, 發(fā)現(xiàn)最多遇到問題有3個(至少是我的代碼中如此):
1. 空行不應(yīng)該有任何空格或者tab字符.?
2. 變量之后要緊跟冒號, 而變量的類型應(yīng)該與冒號隔開一點距離. 比如let a: A =... 這樣的形式是比較合理的.?
3. 變量的字符數(shù)至少要3個以上, 我經(jīng)常為了簡單期間, 定義一些中間變量的時候使用單個字符, ?這也是不被允許的.?
我自己有一個小的工具庫, 剛剛試用了一下, 半個小時即可將代碼變得非常干凈, 確實值得一用.
我用swiftlint優(yōu)化過的小工具庫: https://coding.net/u/danielwyo/p/ExRect/git