この記事は最終更新日から1年以上が経過しています。
Lintとは
ざっくり説明するとプログラムがお作法に則ってコーディングされているかどうかチェックするツールです。
SwiftLintはGitHub Swift Style Guideのルールを基に作られているそうです。
導入方法について
公式に手順が載っているので省きます。
今回対応した内容について
以下2つの対応を行いました。
- ビルド時にプログラムのフォーマットを整えてSwiftLintを実行する
- SwiftLintを導入していない場合はビルドエラーにする
Xcodeの「Build Phases」->「Run Script」に以下のような設定をすることで、
上記2つの対応が可能です。
if which swiftlint >/dev/null; then swiftlint autocorrect swiftlint else echo "error: SwiftLintをインストールしてください。" exit -1 fi |
「swiftlint autocorrect」でフォーマットを整えて、
「swiftlint」でコードのチェックを行っています。
「echo “error: エラーメッセージ”」とすることでXcode上にエラーを表示させています。
実行結果の例
例えばストーリーボードから画面のインスタンスを取得する方法を検索すると
以下のようなコードを良く見かけます。
変数名:型 = storyboard.instantiateInitialController() as! 型 |
「as!」でキャストをしなかった場合、Xcodeが警告を出して自動補完の候補が表示されるのですが、
補完されたコードをそのまま使用するとキャストが失敗した場合にアプリがクラッシュします。
SwiftLintを導入すると以下のようなコードになります。
if let 変数名: 型 = storyboard.instantiateInitialController() as? 型 { } |
上記の場合だとキャストして失敗した場合はnilが返却されるので、
安全に処理することが出来るようになります。
感想
nilを意識したコーディングが自然と出来るようになるので、
Swiftの勉強を始めた時にすぐ導入すると良かったなぁと思いました。
この記事を書いた人
最近書いた記事
- 2019.08.05レコチョクのロゴがBitriseの公式サイトに掲載されるようになりました。
- 2017.10.31OS Xのアプリ開発 入門編
- 2017.10.26レコチョク勉強会「iOS11 新機能「Screen Recording」機能のポイント/レコチョクのアプリ開発環境」を開催しました!
- 2017.09.21OS Xのメニューバーを実装してみました。