unnecessary_ final
Don't use final
for local variables.
Details
#Use var
, not final
, when declaring local variables.
Per
Effective Dart,
there are two styles in wide use. This rule enforces the
var
style.
For the alternative style that prefers
final
, enable
prefer_final_locals
and
prefer_final_in_for_each
instead.
For fields,
final
is always recommended; see the rule
prefer_final_fields
.
BAD:
void badMethod() {
final label = 'Final or var?';
for (final char in ['v', 'a', 'r']) {
print(char);
}
}
GOOD:
void goodMethod() {
var label = 'Final or var?';
for (var char in ['v', 'a', 'r']) {
print(char);
}
}
Incompatible rules
#The unnecessary_final
lint is incompatible with the following rules:
Enable
#
To enable the
unnecessary_final
rule, add
unnecessary_final
under
linter > rules
in your
analysis_options.yaml
file:
linter:
rules:
- unnecessary_final
If you're instead using the YAML map syntax to configure linter rules,
add
unnecessary_final: true
under
linter > rules:
linter:
rules:
unnecessary_final: true
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Report an issue.