最新のIT技術を駆使して音楽関連サービスを展開しています。日々の活動内容から得た知識をお届けする開発ブログです。iOSB!はじめにこんにちは。iOSアプリ開発Gの深山です。私が所属するチームでは、SwiftLintを使用して、開発チーム内で取り決めたコーディング規約のチェックを自動化しています。SwiftLintのデフォルトルールによるチェックで、コーディング規約のうち、大半の項目のチェックを自動化できていましたが、中にはデフォルトルールだけでは違反が検出できない規約もあり、この規約に関しては手作業でのチェックを行うような運用が続いていました。そこで、今回はSwiftLintのカスタムルールの仕組みを利用することで、デフォルトルールだけではチェックできない規約項目を自動でチェックできるようにしました。この記事では、SwiftLintのカスタムルールの作成方法とその実例の一部を紹介します。SwiftLintとはSwiftLintは、Swiftの静的解析ツールの一つです。ソースコードを解析して、特定のルールに違反していないかチェックしてくれます。SwiftLintはHomebrewやCocoaPodsで導入できます。Scriptの項目を追加し、必要なスクリプトを記述することで、チェック自体を自動化することもできます。検査対象のルールはデフォルトで数多く用意されています。.swiftLint.yml内の設定でそれらのルールの有効・無効を切り替えることができます。デフォルトのルールについては、こちらを御覧ください。詳細な導入方法は、この記事では割愛します。extensionでコードブロックを区切る際は、MARKコメントをつける。」という項目をチェックするカスタムルールを作成します。custom_rulesセクション配下に以下のように追記します。'MARKコメントをつけてください。warning各行の説明をしていきます。mark_comment:ルールの識別子です。何についてのルールであるのかが分かるような命名にしました。'.swift'ルールの適用範囲を指定できます。適用するファイルは正規表現で表します。今回は全.swiftファイルに適用するための表記としました。'\w*ViewController\.swift'とすれば、ViewControllerが記述してあるファイルのみにルールを適用することができます。Comment'ルール違反時に表示されるメッセージのタイトルです。Violationと表示されます。\w+'ルールに違反する箇所を表した正規表現です。この正規表現にマッチする箇所がルール違反とされます。'MARKコメントをつけてください。'ルール違反時に表示されるメッセージの詳細です。開発者がこのメッセージを見て、修正方法がわかるような内容にしました。warningこのルールの重大度です。以下2つのいずれかを指定します。errorこのルール違反箇所をエラーとして扱います。このルールに違反した箇所がある場合、ビルドエラーによりビルドできません。)warningこのルールの違反箇所をwarning(警告)として扱います。このルールに違反した箇所がある場合でもビルド自体は可能です。今回私が追加したカスタムルールを一つ紹介します。guardの条件を複数列挙する際は、全て改行する。これは、ブレイクポイントを貼ることでのデバッグしやすさを優先するためのルールです。{return}ルールは次のように設定しました。'guardの条件文を複数列挙する際は全て改行してください。warningまとめこのように、SwiftLintのカスタムルールは、正規表現を用いることで作成することができます。これを活用することで、SwiftLintのデフォルトルールだけではカバーできないようなコーディング規約も自動でチェックすることが可能になります。何だ?19新卒の永田です。10月の配属以降、iOSアプリの開発に取り組んでいます。iOSアプリ開発グループの神山です。