prefer_final_in_for_each
Prefer final in for-each loop variable if reference is not reassigned.
Details
#DO prefer declaring for-each loop variables as final if they are not reassigned later in the code.
Declaring for-each loop variables as final when possible is a good practice because it helps avoid accidental reassignments and allows the compiler to do optimizations.
BAD:
dart
for (var element in elements) { // LINT
print('Element: $element');
}
GOOD:
dart
for (final element in elements) {
print('Element: $element');
}
GOOD:
dart
for (var element in elements) {
element = element + element;
print('Element: $element');
}
Incompatible rules
#The prefer_final_in_for_each
rule is incompatible with the following rules:
Enable
#To enable the prefer_final_in_for_each
rule,
add prefer_final_in_for_each
under linter > rules in your
analysis_options.yaml
file:
analysis_options.yaml
yaml
linter:
rules:
- prefer_final_in_for_each
If you're instead using the YAML map syntax to configure linter rules,
add prefer_final_in_for_each: true
under linter > rules:
analysis_options.yaml
yaml
linter:
rules:
prefer_final_in_for_each: true