https://twitter.com/ethanhuang13/status/893412722670411776?s=20
https://twitter.com/ethanhuang13/status/1248156226904412163?s=20
寫 Swift 的人應該都聽過 SwiftLint,顧名思義它就是用來檢查 Swift 程式碼排版和語法是否正確的工具,由 Realm 團隊提出。我很早就在團隊中導入,並且一直有追蹤並研究它增加的規則。
SwiftLint 的規則非常豐富,文件也完整,可以作為 coding style 的重要參考。把規則設定好以後執行起來,就會在 Xcode 看到一堆 warnings 或 errors,相當嚇人。還會造成團隊中的 Swift 新手備感苦惱😈
但久而久之,團隊寫程式的方式就會有默契與共識,是格式強迫症者的福音。
全部規則請參考官方文件,這裡只列出一部分我個人覺得實用的規則:
class
protocol 改成 AnyObject
以符合 Apple 的建議if else
等等array.count == 0
不如寫成 array.isEmpty
來得有效率for ... where
而不是在迴圈裡用 if
as!
、 try!
等語法SwiftLint 的自動校正功能並不強,主要還是仰賴手動調整格式,調整完再重跑一次,來來回回頗花時間
後來接觸到 SwiftFormat 以後,其強大的自動排版,讓 SwiftLint 變成只是輔助而已了😅 不過兩者之間不衝突,SwiftFormat 側重語法及排版、SwiftLint 側重在一些 API 使用上的檢查