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_eachIf 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