avoid_init_to_null
Don't explicitly initialize variables to null
.
This rule is available as of Dart 2.0.
Rule sets: recommended, flutter
This rule has a quick fix available.
Details
#From Effective Dart:
DON'T explicitly initialize variables to null
.
If a variable has a non-nullable type or is final
, Dart reports a compile error if you try to use it before it has been definitely initialized. If the variable is nullable and not const
or final
, then it is implicitly initialized to null
for you. There's no concept of "uninitialized memory" in Dart and no need to explicitly initialize a variable to null
to be "safe". Adding = null
is redundant and unneeded.
BAD:
Item? bestDeal(List<Item> cart) {
Item? bestItem = null;
for (final item in cart) {
if (bestItem == null || item.price < bestItem.price) {
bestItem = item;
}
}
return bestItem;
}
GOOD:
Item? bestDeal(List<Item> cart) {
Item? bestItem;
for (final item in cart) {
if (bestItem == null || item.price < bestItem.price) {
bestItem = item;
}
}
return bestItem;
}
Usage
#To enable the avoid_init_to_null
rule, add avoid_init_to_null
under linter > rules in your analysis_options.yaml
file:
linter:
rules:
- avoid_init_to_null
Unless 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.