diagnostic_describe_all_properties
デバッグメソッドですべての公開プロパティを参照します。
このルールは Dart 2.3 以降で使用できます。
このルールにはクイックフィックスがあります。
詳細
#デバッグメソッドの実装ですべての公開プロパティを参照してください。
Diagnosticable
の実装者は、実行時のデバッグ機能を向上させるために、debugFillProperties(...)
またはdebugDescribeChildren(...)
メソッドの実装ですべての公開プロパティを参照する必要があります。
公開プロパティは、次のフィールドとゲッターとして定義されます。
- パッケージプライベート(例:
_
で始まる)ではない static
またはオーバーライドではない- それ自体が
Widget
またはWidget
のコレクションではない
さらに、Flutterのプロパティでは「debug」プレフィックスが特別に扱われます。診断の目的では、プロパティfoo
とプレフィックス付きプロパティdebugFoo
は、事実上同じプロパティを記述するものとして扱われ、どちらか一方を参照するだけで十分です。
悪い例
dart
class Absorber extends Widget {
bool get absorbing => _absorbing;
bool _absorbing;
bool get ignoringSemantics => _ignoringSemantics;
bool _ignoringSemantics;
@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
properties.add(DiagnosticsProperty<bool>('absorbing', absorbing));
// Missing reference to ignoringSemantics
}
}
良い例
dart
class Absorber extends Widget {
bool get absorbing => _absorbing;
bool _absorbing;
bool get ignoringSemantics => _ignoringSemantics;
bool _ignoringSemantics;
@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
properties.add(DiagnosticsProperty<bool>('absorbing', absorbing));
properties.add(DiagnosticsProperty<bool>('ignoringSemantics', ignoringSemantics));
}
}
使用法
#diagnostic_describe_all_properties
ルールを有効にするには、analysis_options.yaml
ファイルのlinter > rulesの下にdiagnostic_describe_all_properties
を追加してください
analysis_options.yaml
yaml
linter:
rules:
- diagnostic_describe_all_properties
特に明記されていない限り、このサイトのドキュメントは Dart 3.5.3 を反映しています。ページの最終更新日は 2024-07-03 です。 ソースを表示または問題を報告。