prefer_initializing_formals
尽可能使用初始化形式参数。
此规则自 Dart 2.0 起可用。
此规则提供了快速修复。
详细信息
#**请**尽可能使用初始化形式参数。
尽可能使用初始化形式参数可以使您的代码更简洁。
错误示例
dart
class Point {
num? x, y;
Point(num x, num y) {
this.x = x;
this.y = y;
}
}
正确示例
dart
class Point {
num? x, y;
Point(num this.x, num this.y);
}
错误示例
dart
class Point {
num? x, y;
Point({num? x, num? y}) {
this.x = x;
this.y = y;
}
}
正确示例
dart
class Point {
num? x, y;
Point({required num this.x, required num this.y});
}
**注意:**除非参数名称和字段名称相同,否则此规则不会针对命名参数生成 lint。原因是解决此类 lint 需要重命名字段或重命名参数,而这两种操作都可能导致破坏性更改。例如,以下内容不会生成 lint
dart
class Point {
bool? isEnabled;
Point({bool? enabled}) {
this.isEnabled = enabled; // OK
}
}
**注意:**还要注意,可以使用初始化形式参数强制执行比初始化字段更严格的类型。在以下示例中,未命名的 Bid
构造函数需要一个非空 int
,尽管 amount
被声明为可空 (int?
)。
dart
class Bid {
final int? amount;
Bid(int this.amount);
Bid.pass() : amount = null;
}
用法
#要启用 prefer_initializing_formals
规则,请在 analysis_options.yaml
文件中的**linter > rules**下添加 prefer_initializing_formals
analysis_options.yaml
yaml
linter:
rules:
- prefer_initializing_formals
除非另有说明,否则本网站上的文档反映的是 Dart 3.5.3。页面上次更新于 2024-07-03。 查看源代码 或 报告问题。