prefer_constructors_over_static_methods
推荐定义构造函数而不是静态方法来创建实例。
详情
#推荐 定义构造函数而不是静态方法来创建实例。
在大多数情况下,使用命名构造函数而不是静态方法更有意义,因为它使实例化更清晰。
错误示例
dart
class Point {
num x, y;
Point(this.x, this.y);
static Point polar(num theta, num radius) {
return Point(radius * math.cos(theta),
radius * math.sin(theta));
}
}
正确示例
dart
class Point {
num x, y;
Point(this.x, this.y);
Point.polar(num theta, num radius)
: x = radius * math.cos(theta),
y = radius * math.sin(theta);
}
启用
#要启用 prefer_constructors_over_static_methods
规则,请在你的 analysis_options.yaml
文件中的 linter > rules 下添加 prefer_constructors_over_static_methods
analysis_options.yaml
yaml
linter:
rules:
- prefer_constructors_over_static_methods
如果您改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 prefer_constructors_over_static_methods: true
analysis_options.yaml
yaml
linter:
rules:
prefer_constructors_over_static_methods: true
除非另有说明,否则本网站上的文档反映的是 Dart 3.7.1 版本。页面上次更新于 2025-03-07。 查看源代码 或 报告问题。