prefer_constructors_over_static_methods
优先定义构造函数而不是静态方法来创建实例。
此规则从 Dart 2.0 开始提供。
详情
#**优先**定义构造函数而不是静态方法来创建实例。
在大多数情况下,使用命名构造函数比静态方法更有意义,因为它使实例化更清晰。
错误
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 > 规则**下添加 prefer_constructors_over_static_methods
。
analysis_options.yaml
yaml
linter:
rules:
- prefer_constructors_over_static_methods
除非另有说明,本网站上的文档反映了 Dart 3.5.3。页面最后更新时间为 2024-07-03。 查看源代码 或 报告问题.