prefer_final_fields
プライベートフィールドを`final`にすることができます。
このルールはDart 2.0から利用可能です。
このルールにはクイックフィックスがあります。
詳細
#DO ライブラリ内で後で再代入されない場合は、プライベートフィールドを`final`として宣言することを推奨します。
可能な限りフィールドを`final`として宣言することは、偶発的な再代入を回避し、コンパイラによる最適化を可能にするため、良い習慣です。
悪い例
dart
class BadImmutable {
var _label = 'hola mundo! BadImmutable'; // LINT
var label = 'hola mundo! BadImmutable'; // OK
}
悪い例
dart
class MultipleMutable {
var _label = 'hola mundo! GoodMutable', _offender = 'mumble mumble!'; // LINT
var _someOther; // LINT
MultipleMutable() : _someOther = 5;
MultipleMutable(this._someOther);
void changeLabel() {
_label= 'hello world! GoodMutable';
}
}
良い例
dart
class GoodImmutable {
final label = 'hola mundo! BadImmutable', bla = 5; // OK
final _label = 'hola mundo! BadImmutable', _bla = 5; // OK
}
良い例
dart
class GoodMutable {
var _label = 'hola mundo! GoodMutable';
void changeLabel() {
_label = 'hello world! GoodMutable';
}
}
悪い例
dart
class AssignedInAllConstructors {
var _label; // LINT
AssignedInAllConstructors(this._label);
AssignedInAllConstructors.withDefault() : _label = 'Hello';
}
良い例
dart
class NotAssignedInAllConstructors {
var _label; // OK
NotAssignedInAllConstructors();
NotAssignedInAllConstructors.withDefault() : _label = 'Hello';
}
使用方法
#`prefer_final_fields`ルールを有効にするには、`analysis_options.yaml`ファイルのlinter > rulesに`prefer_final_fields`を追加します。`analysis_options.yaml`
analysis_options.yaml
YAML
linter:
rules:
- prefer_final_fields
特に明記されていない限り、このサイトのドキュメントはDart 3.5.3を反映しています。ページの最終更新日:2024年7月3日。 ソースを表示 または 問題を報告する.