目次

目次

SwiftLintを導入しました。

アバター画像
柳 秀明
アバター画像
柳 秀明
最終更新日2017/03/03 投稿日2017/03/03

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の勉強を始めた時にすぐ導入すると良かったなぁと思いました。

アバター画像

柳 秀明

目次