avoid_field_initializers_in_const_classes
避免在 const 類中使用欄位初始化器。
詳情
#避免在 const 類中使用欄位初始化器。
與其使用 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