avoid_ field_ initializers_ in_ const_ classes
Learn about the avoid_field_initializers_in_const_classes linter rule.
Avoid field initializers in const classes.
Details
#AVOID field initializers in const classes.
Instead of final x = const expr;, you should
write get x => const expr; and not allocate a
useless field. As of April 2018 this is true for the VM, but
not for code that will be compiled to JS.
BAD:
class A {
final a = const [];
const A();
}
GOOD:
class A {
get a => const [];
const A();
}
Enable
#
To enable the
avoid_field_initializers_in_const_classes rule,
add avoid_field_initializers_in_const_classes
under
linter > rules in your
analysis_options.yaml
file:
linter:
rules:
- avoid_field_initializers_in_const_classes
If you're instead using the YAML map syntax to configure
linter rules, add
avoid_field_initializers_in_const_classes: true
under linter > rules:
linter:
rules:
avoid_field_initializers_in_const_classes: true
除非另有说明,文档之所提及适用于 Dart 3.12.2 版本报告页面问题.