![見出し画像](https://assets.st-note.com/production/uploads/images/60027722/rectangle_large_type_2_1424c0535bdcf4eb59fdf57c991a2316.png?width=1200)
FlutterでLintを使う
こんにちは、株式会社Pentagonでエンジニアをしている阿久津です。
今回はFlutterでLintを使う方法に触れたいと思います。
Lintとは
端的に言うと"あからさまにバグっぽい"箇所を自動で見つけてくれるもの
主にC言語のソースコードに対し、コンパイラよりも詳細かつ厳密なチェックを行うプログラムである。静的解析ツールとも呼ばれる。(wikipediaより引用)
FlutterでのLintの使い方
"analysis_options.yaml"をFlutterのルートディレクトリに置くだけ簡単。
後はIntellijがそれに沿って怒ってくれる。
※みんなで同じルールで開発する為にバージョン管理必須(?)
Lintの設定方法
analysis_option.yamlにLintに検知して欲しい項目を書くだけ簡単。
ここから必要な項目をコピペ:https://dart-lang.github.io/linter/lints/
(analysis_option.yaml)
linter:
rules:
- always_use_package_imports
Lintの設定内容
本題?ここはそれなりに難しい(悩ましい)。
かなり膨大な項目数があり、どの項目について自分のプロジェクトではチェック対象とするべきか一覧を見るだけでも大変。
なので、恐らく以下の対応が一般的かと思います。
1. まずは、Flutterのリポジトリに前ならえ
https://github.com/flutter/flutter/blob/master/analysis_options.yaml
2. 過剰な項目をコメントアウト/気になる項目を追加
3. プロジェクトをこなしていく中でチームのanalyze_option(ルール)を育てていく
まとめ
Flutterに限らずですが、コード解析系は後から入れるとプロジェクトが混乱する要因になるので、今無いのであればなるべく早く検討しましょう。
参考サイト
Wikipedia(lint):
https://ja.wikipedia.org/wiki/Lint
GitHub(flutter/flutter):
https://github.com/flutter/flutter/blob/master/analysis_options.yaml