目录

prefer_constructors_over_static_methods

Prefer defining constructors instead of static methods to create instances.

此规则自 Dart 2.0 版本起可用。

详情

#

PREFER defining constructors instead of static methods to create instances.

In most cases, it makes more sense to use a named constructor rather than a static method because it makes instantiation clearer.

BAD:

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));
  }
}

GOOD:

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