目錄

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 > rules 下新增 prefer_constructors_over_static_methods

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_constructors_over_static_methods