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の締め忘れを防止してくれます。
おわり
意気揚々とこの記事を書き始めたがそんなにたくさんおすすめのリントルールがあるわけではなかった…(上記以外にも使っているカスタムルールはあるが、胸を張っておすすめするほどでもない)
何はともあれアプリケーションを作り始める際は早めにリントを導入しておくことをおすすめする。