overridden_fields
不要重写字段。
详情
#不要 重写字段。
重写字段几乎总是无意为之。无论如何,这样做都是一种不好的做法。
错误示例
dart
class Base {
Object field = 'lorem';
Object something = 'change';
}
class Bad1 extends Base {
@override
final field = 'ipsum'; // LINT
}
class Bad2 extends Base {
@override
Object something = 'done'; // LINT
}
正确示例
dart
class Base {
Object field = 'lorem';
Object something = 'change';
}
class Ok extends Base {
Object newField; // OK
final Object newFinal = 'ignore'; // OK
}
正确示例
dart
abstract class BaseLoggingHandler {
Base transformer;
}
class LogPrintHandler implements BaseLoggingHandler {
@override
Derived transformer; // OK
}
启用
#要启用 overridden_fields
规则,请在您的 analysis_options.yaml
文件中的 linter > rules 下添加 overridden_fields
analysis_options.yaml
yaml
linter:
rules:
- overridden_fields
如果您改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 overridden_fields: true
analysis_options.yaml
yaml
linter:
rules:
overridden_fields: true
除非另有说明,否则本网站上的文档反映的是 Dart 3.7.1 版本。页面上次更新于 2025-03-07。 查看源代码 或 报告问题。