prefer_is_empty
對 Iterable 和 Map 使用 isEmpty。
詳情
#不要使用 length 來檢查集合是否為空。
Iterable 契約不要求集合知道其長度或能夠在常量時間內提供長度。僅僅為了檢視集合是否包含任何元素而呼叫 length 可能會非常慢。
相反,有更快、更易讀的 getter:isEmpty 和 isNotEmpty。使用無需對結果進行取反的那個。
不好
dart
if (lunchBox.length == 0) return 'so hungry...';
if (words.length != 0) return words.join(' ');好
dart
if (lunchBox.isEmpty) return 'so hungry...';
if (words.isNotEmpty) return words.join(' ');啟用
#要啟用 prefer_is_empty 規則,請在您的 analysis_options.yaml 檔案中的 linter > rules 下新增 prefer_is_empty。
analysis_options.yaml
yaml
linter:
rules:
- prefer_is_empty如果您改用 YAML 對映語法配置 linter 規則,請在 linter > rules 下新增 prefer_is_empty: true。
analysis_options.yaml
yaml
linter:
rules:
prefer_is_empty: true