リンタルール
Dart リンターを使用して、Dart コード内の潜在的な問題箇所を特定します。リンターは、IDE を介して、または dart analyze コマンドで使用できます。個々のリンター ルールの有効化と無効化の方法については、アナライザー ドキュメントの「個々のルール」セクションを参照してください。
このページでは、各ルールの使用時期、トリガーとなるコード パターン、コードの修正方法などの詳細とともに、すべてのリンター ルールを一覧表示します。
セット
#互換性のあるリンター ルールを個別に選択する必要をなくすために、以下のパッケージが提供するリンター ルール セットから始めることを検討してください。
- lints
- Dart チームによってキュレートされた 2 つのルール セットが含まれています。少なくとも coreルール セットを使用することをお勧めします。これは、pub.dev にアップロードされたパッケージのスコアリングに使用されます。あるいは、さらに良いことに、coreのスーパーセットであり、追加の問題を特定し、スタイルとフォーマットを強制するrecommendedルール セットを使用してください。Flutter コードを記述している場合は、lintsをベースにしたflutter_lintsパッケージのルール セットを使用してください。
- flutter_lints
- Flutter チームが Flutter アプリ、パッケージ、プラグインでの使用を推奨している flutterルール セットが含まれています。このルール セットは、recommendedセットのスーパーセットであり、それ自体がcoreセットのスーパーセットであり、pub.dev にアップロードされたパッケージのスコアを部分的に決定します。
特定のルール セットの使用方法については、リンター ルールの有効化と無効化のドキュメントを参照してください。
その他の事前定義されたルール セットを見つけるには、pub.dev の「#lints トピック」を確認してください。
ステータス
#各ルールには、ステータスまたは成熟度レベルがあります。
- 安定
- これらのルールは安全に使用でき、最新バージョンの Dart 言語で機能することが確認されています。すべてのルールは、実験的、非推奨、または削除済みとしてマークされていない限り、安定していると見なされます。
- 実験的
- これらのルールはまだ評価中であり、安定しない可能性があります。これらは注意して使用し、発生した問題について報告してください。
- 非推奨
- これらのルールはもはや使用が推奨されておらず、将来の Dart リリースで削除される可能性があります。
- 削除済み
- これらのルールは、最新の安定版 Dart リリースで既に削除されています。
クイック フィックス
#一部のルールは、クイック フィックスを使用して自動的に修正できます。クイック フィックスは、リンター ルールによって報告された問題を修正することを目的とした自動編集です。
ルールにクイック フィックスがある場合、dart fix または Dart サポートを備えたエディターを使用して適用できます。詳細については、「分析の問題に対するクイック フィックス」を参照してください。
ルール
#以下は、すべてのリンター ルールとその機能の簡単な説明のインデックスです。特定のルールについてさらに詳しく知るには、カードの「詳細はこちら」ボタンをクリックしてください。
Dart 3.8.1 のすべてのリンター ルールを含む自動生成されたリストについては、「すべてのリンター ルール」を参照してください。
@immutable としてマークされていないクラスで演算子 == および hashCode をオーバーライドすることを避けます。
すべてのフロー制御構造に波括弧を使用してください。
ライブラリ doc コメントをライブラリ ディレクティブにアタッチします。
Flutter TODO フォーマットを使用します: // TODO(username): message, https://URL-to-issue。
オブジェクトを Function として使用する場合は、明示的に call メソッドを tear-off します。
JS 相互運用型に対して、結果がプラットフォームで一貫しない可能性がある実行時型テストを避けます。
ライブラリ プレフィックスの先頭アンダースコアを避けます。
非定数識別子には lowerCamelCase を使用して名前を付けます。
null許容型パラメーターに対して null チェックを使用しないでください。
@immutable クラスに const コンストラクターを定義することを推奨します。
@immutable クラスのコンストラクターのパラメーターとして const リテラルを推奨します。
初期化されていない変数とフィールドに型を付けることを推奨します。
@Deprecated("message") を介して、非推奨メッセージを提供します。
async 関数本体の Future 結果は await するか、dart:async を使用して unawaited としてマークする必要があります。
Markdown では、doc コメントの山括弧の使用は HTML として扱われます。
null許容でない値で初期化された final 変数には、null許容でない型を使用します。
同じパラメーターでスーパー メソッド呼び出しを行うためにメソッドをオーバーライドしないでください。
Color をインスタンス化するには、8 桁の 16 進数整数 (例: 0xFFFFFFFF) を使用します。