跳到主要內容

tighten_type_of_initializing_formals

穩定

收緊初始化形式參數的類型。

詳細資訊

#

如果存在非空值斷言,則收緊初始化形式參數的類型。這讓類型系統能夠捕捉問題,而不是僅在執行階段才捕捉到。

不良範例

dart
class A {
  A.c1(this.p) : assert(p != null);
  A.c2(this.p);
  final String? p;
}

良好範例

dart
class A {
  A.c1(String this.p);
  A.c2(this.p);
  final String? p;
}

class B {
  String? b;
  B(this.b);
}

class C extends B {
  B(String super.b);
}

啟用

#

若要啟用 tighten_type_of_initializing_formals 規則,請在您的 analysis_options.yaml 檔案中的 linter > rules 下新增 tighten_type_of_initializing_formals

analysis_options.yaml
yaml
linter:
  rules:
    - tighten_type_of_initializing_formals

如果您改為使用 YAML 對應語法來設定 linter 規則,請在 linter > rules 下新增 tighten_type_of_initializing_formals: true

analysis_options.yaml
yaml
linter:
  rules:
    tighten_type_of_initializing_formals: true