prefer_is_empty
Use isEmpty for Iterables and Maps.
This rule is available as of Dart 2.0.
Rule sets: core, recommended, flutter
This rule has a quick fix available.
Details
#DON'T use length to see if a collection is empty.
The Iterable contract does not require that a collection know its length or be able to provide it in constant time. Calling length just to see if the collection contains anything can be painfully slow.
Instead, there are faster and more readable getters: isEmpty and isNotEmpty. Use the one that doesn't require you to negate the result.
BAD:
if (lunchBox.length == 0) return 'so hungry...';
if (words.length != 0) return words.join(' ');GOOD:
if (lunchBox.isEmpty) return 'so hungry...';
if (words.isNotEmpty) return words.join(' ');Usage
#To enable the prefer_is_empty rule, add prefer_is_empty under linter > rules in your analysis_options.yaml file:
linter:
rules:
- prefer_is_emptyUnless stated otherwise, the documentation on this site reflects Dart 3.6.0. Page last updated on 2024-07-03. View source or report an issue.