目次

prefer_spread_collections(コレクションのスプレッドを推奨)

可能な限りスプレッドコレクションを使用してください。

このルールはDart 2.3以降で使用可能です。

ルールセット:推奨flutter

このルールにはクイックフィックスが用意されています。

詳細

#

可能な限りスプレッドコレクションを使用してください。

コレクションリテラルは、個々の項目から新しいコレクションを作成する場合に最適です。ただし、既存の項目がすでに別のコレクションに格納されている場合は、スプレッドコレクション構文を使用すると、コードが簡潔になります。

悪い例

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