flutter_lintsに含まれていないがおすすめのリントルール
はじめに
flutter_lintsはFlutter公式が推奨するリントのルールセットです。
Flutter2.5からflutter_lintsがflutter createした際に標準で入るようになりました。既存アプリにflutter_lintsを導入する際の移行ガイドも公式で用意されています。
flutter_lintsを入れておけば基本的なリントルールを押さえておくことができる一方で、それに含まれていないルールは独自に導入する必要があります。
今回はflutter_lintsを入れた後、それに含まれていないために自分で導入して良かったルールをいくつか紹介します。
使い方
analysis_options.yamlのlinter/rules以下にカスタムルールを追加していきます。
include: package:flutter_lints/flutter.yaml
linter:
rules:
# ここにカスタムルールを追加していきます
使用できるルールの一覧はこちらから確認できます。
良かったルール
use_colored_box
Colorの指定だけをしているContainerがある場合、ColoredBoxを使うよう教えてくれます。
Containerの生成コストはSizedBoxやColoredBoxと比べると大きいのでパフォーマンスの改善にも役立ちます。目くじら立てて気にするほどでもないですがリントで解決できるのであれば楽ですし、チリツモなので入れておいて損はないかと思います。
ちなみにこの辺りのWidget周りのパフォーマンスについては@_monoさんの「Stateful Widget のパフォーマンスを考慮した正しい扱い方」という記事がおすすめです。
use_decorated_box
これもuse_colored_boxと似たルールです。
Decorationの指定だけをしているContainerがあれば教えてくれます。
cancel_subscriptions
StreamSubscriptionインスタンスに対してcancelをしていない場合教えてくれます。アプリを作っているとStreamを触る機会もあるかと思いますが、その際にStreamの締め忘れを防止してくれます。
おわり
意気揚々とこの記事を書き始めたがそんなにたくさんおすすめのリントルールがあるわけではなかった…(上記以外にも使っているカスタムルールはあるが、胸を張っておすすめするほどでもない)
何はともあれアプリケーションを作り始める際は早めにリントを導入しておくことをおすすめする。