目次

prefer_is_empty

IterableMapにはisEmptyを使用します。

このルールはDart 2.0から利用可能です。

ルールセット:corerecommendedflutter

このルールにはクイックフィックスがあります。

詳細

#

コレクションが空かどうかを確認するために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