prefer_final_locals
Prefer final for variable declarations if they are not reassigned.
Details
#DO prefer declaring variables as final if they are not reassigned later in the code.
Declaring variables as final when possible is a good practice because it helps avoid accidental reassignments and allows the compiler to do optimizations.
BAD:
void badMethod() {
var label = 'hola mundo! badMethod'; // LINT
print(label);
}
GOOD:
void goodMethod() {
final label = 'hola mundo! goodMethod';
print(label);
}
GOOD:
void mutableCase() {
var label = 'hola mundo! mutableCase';
print(label);
label = 'hello world';
print(label);
}
Incompatible rules
#The prefer_final_locals
rule is incompatible with the following rules:
Enable
#To enable the prefer_final_locals
rule, add prefer_final_locals
under linter > rules in your analysis_options.yaml
file:
linter:
rules:
- prefer_final_locals
If you're instead using the YAML map syntax to configure linter rules, add prefer_final_locals: true
under linter > rules:
linter:
rules:
prefer_final_locals: true
Unless stated otherwise, the documentation on this site reflects Dart 3.6.0. Page last updated on 2025-01-27. View source or report an issue.