跳到主要内容

avoid_field_initializers_in_const_classes

稳定

避免在常量类中使用字段初始化器。

详情

#

避免在常量类中使用字段初始化器。

不要使用 final x = const expr;,而应该写成 get x => const expr;,这样可以避免分配无用的字段。截至 2018 年 4 月,这对于 VM 是成立的,但不适用于将编译为 JS 的代码。

不良示例

dart
class A {
  final a = const [];
  const A();
}

良好示例

dart
class A {
  get a => const [];
  const A();
}

启用

#

要启用 avoid_field_initializers_in_const_classes 规则,请在你的 analysis_options.yaml 文件中的 linter > rules 下添加 avoid_field_initializers_in_const_classes

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_field_initializers_in_const_classes

如果你使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 avoid_field_initializers_in_const_classes: true

analysis_options.yaml
yaml
linter:
  rules:
    avoid_field_initializers_in_const_classes: true