跳到主要内容

prefer_spread_collections

稳定
推荐
修复可用

尽可能使用 spread collections。

详情

#

尽可能使用 spread collections。

当您想从单个条目创建新集合时,集合字面量非常出色。但是,当现有条目已经存储在另一个集合中时,spread collection 语法会使代码更简洁。

不良示例

dart
Widget build(BuildContext context) {
  return CupertinoPageScaffold(
    child: ListView(
      children: [
        Tab2Header(),
      ]..addAll(buildTab2Conversation()),
    ),
  );
}
dart
var ints = [1, 2, 3];
print(['a']..addAll(ints.map((i) => i.toString()))..addAll(['c']));
dart
var things;
var l = ['a']..addAll(things ?? const []);

良好示例

dart
Widget build(BuildContext context) {
  return CupertinoPageScaffold(
    child: ListView(
      children: [
        Tab2Header(),
        ...buildTab2Conversation(),
      ],
    ),
  );
}
dart
var ints = [1, 2, 3];
print(['a', ...ints.map((i) => i.toString()), 'c');
dart
var things;
var l = ['a', ...?things];

启用

#

要启用 prefer_spread_collections 规则,请在您的 analysis_options.yaml 文件中的 linter > rules 下添加 prefer_spread_collections

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_spread_collections

如果您改为使用 YAML map 语法来配置 linter 规则,请在 linter > rules 下添加 prefer_spread_collections: true

analysis_options.yaml
yaml
linter:
  rules:
    prefer_spread_collections: true