Aqutras Members' Blog

株式会社アキュトラスのメンバーが、技術情報などを楽しく書いています。

初心者にもおすすめ。SwiftLintで清く正しくコーディング

こんにちは。id:naosukeです。

今日は、Swiftのツールである、SwiftLintについて紹介します。
自分は、実はアキュに入ってからSwiftを触り始めたのですが、最初からできるだけ正しいスタイルを身につけようとこれを導入しました。

これからSwiftを勉強したい人にも、ぜひこのツールを使ってもらいたいと思います。

SwiftLintとは

SwiftLintとは、Realmが開発しているSwiftのLintツールです。
チェックするコーディング規約はGithub's Swift Style Guideに準拠しているそうです。

github.com

導入方法

SwiftLintをインストールするには、以下のコマンドを叩きます。

$ brew install swiftlint

その後、導入したいプロジェクトをXcodeで開き、TargetのBuild Phaseにスクリプトを追加します。

f:id:naosuke2dx:20160415010311p:plain:w320
こんなかんじ。 この後、BuildもしくはRunすると、勝手に実行してくれます。便利ですね。

プロジェクトにあわせてカスタマイズ

先ほどのスクリーンショットのアプリは、SpriteKitを使ったゲームアプリなんですが、そのままSwiftLintを実行すると…

f:id:naosuke2dx:20160415010712p:plain:h200

はい、このようにBuildに失敗します。
このLint、とにかく条件が厳しいんですね。
ちなみにLintでエラーが出ている部分は、AppDelegate.swiftのコメント行です。

f:id:naosuke2dx:20160415011524p:plain:w320

こんな感じになってます。ひえー。
そこで、設定ファイルを書いてカスタマイズをしてみましょう。
Xcodeからファイルを追加すればOKです。ファイル名は、.swiftlint.ymlです。
保存場所は、プロジェクトのルートディレクトリ直下です。
f:id:naosuke2dx:20160415012314p:plain

ここに色々とルールを書いていきます。
ルールについては、この記事がわかりやすく書いていました。

qiita.com

ちなみに、自分はこんなかんじで書いています。

disabled_rules:
- type_name
- force_cast
line_length: 300
excluded:
- Pods
type_body_length:
- 200 # warning
- 400 # error
variable_name_max_length:
- 60 # warning
- 80 # error
variable_name_min_length:
- 1 # warning
- 0 # error
function_body_length:
- 100 # warning
- 200 # error

設定ファイルを保存して、BuildかRunをすると…

f:id:naosuke2dx:20160415012845p:plain:w320

はい。このようにエラーが出なくなりました。

まとめ

今回は、SwiftのLintツールであるSwiftLintについて紹介しました。
このLintはデフォルトルールがかなり厳しいのですが、カスタマイズすることでプロジェクトに即したLintをすることが出来ます。

今回、なぜ初心者にもおすすめしたいかというと、昔勉強会でこんなことを言われたからです。
「Lintを使うことで正しいスタイルが身につく。だから初心者こそLintを使おう*1
自分自身も初心者の状態からこのツールを使うことで、少しだけSwiftらしく書けるようになってきました。

SwiftLintを使って、ぜひ幸せなプロジェクト開発/Swiftライフを送ってください!

*1:これを話してくれた人は、Lintおじさんを名乗っていました