跳到主要內容

prefer_spread_collections

穩定
建議
提供修正

盡可能使用展開集合。

詳細資訊

#

盡可能使用展開集合。

當您想要從個別項目建立新的集合時,集合常值非常棒。但是,當現有項目已儲存在另一個集合中時,展開集合語法會產生更簡潔的程式碼。

不良示範

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