Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

swiftlint 0.18.1 の設定ファイル(.swiftlint.yml)のサンプル

swiftlint

https://github.com/realm/SwiftLint

バージョン

0.18.1
Homebrewで入れました。
brew install swiftlint

本題

.swiftlint.ymlサンプルで検索してもあんまり出てこなかったので、今回作成したものを上げておきます。

今回作成して、自分のプロジェクトで使用している.swiftlint.ymlファイルの内容は下記になります。

.swiftlint.yml
# 無効にするルール。
disabled_rules:
# コードの記載のない改行を許可したい
- trailing_whitespace
# force_cast は場合によっては使用するため
- force_cast

# デフォルト無効のルールのうち、有効にするもの。
opt_in_rules:
- attributes
- closure_end_indentation
- closure_spacing
- conditional_returns_on_newline
- empty_count
- explicit_init
- explicit_type_interface # new
- fatal_error_message   # new
# ファイルヘッダを修正してもエラー解除されないため
#- file_header
- first_where
# 場合によっては特に問題ないので
#- force_unwrapping
- implicitly_unwrapped_optional # new
- missing_docs
- nimble_operator
- number_separator
- object_literal
- operator_usage_whitespace
- overridden_super_call
# 基本的にはprivateにしたほうが良いがアプリ規模が小さいので今回は無効
#- private_outlet
- prohibited_super_call
- redundant_nil_coalescing
# そこまで多くならないので整列していなくても問題ない
#- sorted_imports
- switch_case_on_newline
- valid_docs

# 追加したOSSライブラリは対象に含めたくない
excluded:
- Pods/
- Carthage/

# 1行あたりの文字数制限を300に変更
# プロジェクト作成時にデフォルトで追加されるコメントをひっかけないため
line_length: 300

# 変数名が1文字以上なら許可に変更
identifier_name:
  min_length: 1

基本的な方針としては、できるだけルールを適用させて、どうしてもめんどくさいものだけ省くようにしました。
そのため、opt-in-rulesもたくさん書いてます。

force〇〇系は、あまりswiftを書いたことがない方は外さないほうが良いと思いますが、なれてきたら外してしまったほうが良いと思います。毎回nilチェックするのも大変ですし。
まだswiftlintは安定していないので、結構バグが多いので動かない時もありますので注意が必要です。
あと、変数名の部分は2文字以上や3文字以上にしたほうがいいのかもしれません。(僕は"v"とか"e"とか使いたいので1文字以上にしています...)

参考

ルールの解説に関しては下記を参考にさせていただきました。
【SwiftLintのRules全まとめ】
http://qiita.com/KAGE_MIKU/items/80e6d905dc0059c342b3
【swiftlint 0.18.1 までの rule まとめ】
http://qiita.com/rd0501/items/103c33d2df20f052523a

他のサンプル
【SwiftLint を導入しました】
http://qiita.com/hoshi-takanori/items/b82e62de8313ff256044

rd0501
iOS Developer、Swift、iOSあたりの投稿をします。
andfactory
Smartphone Idea Companyとして、人々の生活に「&(アンド)」を届ける。
https://andfactory.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away