FlutterのLint
Flutter v2.5以降では、 flutter create
で新規作成したプロジェクトでは、デフォルトでは、flutter_lint
というLintルール集が用いられる。
このflutter_lint
では、Lintで設定できるすべてのルール 209個のうちの、97個(46.4%)しか設定していない。
もちろん、相反するルールもある(例えば、prefer_single_quotesとprefer_double_quotes)ので、すべてのLintオプションを設定することはできないが、より多くのルールを課することは、一貫したコーディングスタイルを実現できるので、特にチームでの開発では重要だと、個人的には思っている。
analysis_options.yaml
にルールを追加していくことも可能だが、一つ一つ取捨選択するのは大変なのです。
そこで登場するのが、OSSのLintルール集です。
有名なものに、次の2つがあります。
- Lint : 151 (72.2%)
- very_good_analysis : 184 (88.0%)
があります。
それぞれで、どのLintルールが設定されているがをみたい場合は、Google Sheetを見てください。
導入の仕方は、どちらもほぼ同じです。例えば Lint
の場合、
pubspec.yaml
dev_dependencies:
# lintパッケージを追加
lint: ^2.0.0
# flutter_lintsパッケージは削除
# flutter_lints: ^2.0.0
analysis_options.yaml
# flutter_lintsの設定は削除
#include: package:flutter_lints/flutter.yaml
# lintの設定を追加
include: package:lint/strict.yaml # For production apps
linter:
rules:
# Util classes are awesome!
# avoid_classes_with_only_static_members: false
# Make constructors the first thing in every class
# sort_constructors_first: true
# Choose wisely, but you don't have to
# prefer_double_quotes: true
# prefer_single_quotes: true
足らないルールは、linter.rules
に記載していきます。