SwiftLintの最新の安定版リリースは、コードの一貫性の向上を目指す開発者や組織向けにSwift 5.6とXcode 13.3をサポートする。さらに、プレリリースバージョンでは、SourceKitの代わりにSwiftSyntaxが統合される。
SwiftLintがXcodeや他の多くのツールと統合することで、Swiftのスタイルと慣習を適用することができ、慣用的なSwiftコードが記述しやすくなる。2015年からメンテナンスされているSwiftLintには、現在、GitHub Swiftスタイルガイド(現在はアーカイブされている)とRay WenderlichのSwiftスタイルガイドから派生した200を超えるルール がある。
SwiftLintのメンテナンス担当者のJP Simard氏が述べているように、SwiftLintユーザによって報告された主なメリットの1つは、単一のプロジェクト内だけでなく、プロジェクトやチーム全体で一貫性が向上することである。これにより読みやすくなり、開発者は重要なことに集中し、悪い習慣を避けることができると彼は言っている。
SwiftLintでは、SourceKitとSwiftコンパイラが使われ、Swiftコードが解析される。また、ルール違反の一部を自動的に修正することを目的とした高度な機能が活用される。実際、SwiftLintルールの約3分の1は修正可能であり、透過的に適用できる。
ルールの3分の1(上とは別のルール)は設定可能である。つまり、設定ファイルを使ってデフォルトの動作を変更できる。たとえば、すべての配列宣言に末尾のカンマを含めるように要求したり、禁止したりできる。グローバル設定に加えて、SwiftLintは、ソースコードに埋め込まれた特定のコマンドによるローカルオーバーライドもサポートする。
SwiftLintが設定可能であることによって、その採用が促進される。これは、大規模なチームや既存の大規模なコードベースで不可欠である。SwiftLintのすべてのルールを適用が強要されるわけではない。また、Simardはユーザのニーズに合わせてツールを調整することを強くお勧めする。
いつSwiftLintが間違っていて、いつSwiftLintを無視するかを知るには、あなたの思考プロセスに頼る必要があります。SwiftLintは間違うことがあります。SwiftLintが常に正しければ、それはコンパイラの仕事です。そのルールはコンパイラーにあります。
SwiftSyntaxでは、SourceKit構文に基づいて追加のルールを定義することもできる。SwiftLintチームはSwiftSyntaxのサポートも開始した。SwiftSyntaxは、Swiftソースコードを解析、検査、生成、変換するためのより新しいツールである。
前述のように、インストール後、SwiftLintをXcodeプロジェクトに簡単に統合できる。そのためには、次のスクリプトを実行するための新しいコンパイル後ビルドフェーズを作成する必要がある。
if which swiftlint >/dev/null; then
swiftlint
else
echo "warning: swiftlint not installed"
fi
Xcodeに加えて、SwiftLintは、それぞれのプラグインを介してAppCode、Atom、Visual Studio Code、fastlaneをサポートする。コマンドラインから手動でswiftlintを実行し、そのCLIを使ってCIパイプラインに統合することもできる。