跳到主要内容

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