Could not create cache file.

SwiftLintを導入しました。 | レコチョクのエンジニアブログ

SwiftLintを導入しました。

Swift

この記事は最終更新日から1年以上が経過しています。

Lintとは

ざっくり説明するとプログラムがお作法に則ってコーディングされているかどうかチェックするツールです。

SwiftLintはGitHub Swift Style Guideのルールを基に作られているそうです。

導入方法について

公式に手順が載っているので省きます。

今回対応した内容について

以下2つの対応を行いました。

  • ビルド時にプログラムのフォーマットを整えてSwiftLintを実行する
  • SwiftLintを導入していない場合はビルドエラーにする

Xcodeの「Build Phases」->「Run Script」に以下のような設定をすることで、
上記2つの対応が可能です。

「swiftlint autocorrect」でフォーマットを整えて、
「swiftlint」でコードのチェックを行っています。

「echo “error: エラーメッセージ”」とすることでXcode上にエラーを表示させています。

実行結果の例

例えばストーリーボードから画面のインスタンスを取得する方法を検索すると
以下のようなコードを良く見かけます。

「as!」でキャストをしなかった場合、Xcodeが警告を出して自動補完の候補が表示されるのですが、
補完されたコードをそのまま使用するとキャストが失敗した場合にアプリがクラッシュします。

SwiftLintを導入すると以下のようなコードになります。

上記の場合だとキャストして失敗した場合はnilが返却されるので、
安全に処理することが出来るようになります。

感想

nilを意識したコーディングが自然と出来るようになるので、
Swiftの勉強を始めた時にすぐ導入すると良かったなぁと思いました。

Swift