メインコンテンツにスキップ

prefer_is_empty

安定版
コア
修正が利用可能です

IterableMapにはisEmptyを使用してください。

詳細

#

コレクションが空かどうかを確認するためにlength使用しないでください

Iterableの契約では、コレクションがその長さを知っていること、または一定時間で提供できることを要求していません。コレクションに何か含まれているかを確認するためだけにlengthを呼び出すと、非常に遅くなる可能性があります。

代わりに、より高速で読みやすいゲッターisEmptyisNotEmptyがあります。結果を否定する必要がない方を使用してください。

悪い例

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

代わりにlinterルールを構成するためにYAMLマップ構文を使用している場合は、linter > rulesの下にprefer_is_empty: trueを追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    prefer_is_empty: true