curly_ braces_ in_ flow_ control_ structures
DO use curly braces for all flow control structures.
Details
#DO use curly braces for all flow control structures.
Doing so avoids the dangling else problem.
BAD:
if (overflowChars != other.overflowChars)
return overflowChars < other.overflowChars;
GOOD:
if (isWeekDay) {
print('Bike to work!');
} else {
print('Go dancing or read a book!');
}
There is one exception to this: an
if
statement with no
else
clause where
the entire
if
statement (including the condition and the body) fits in one
line. In that case, you may leave off the braces if you prefer:
GOOD:
if (arg == null) return defaultValue;
If the body wraps to the next line, though, use braces:
GOOD:
if (overflowChars != other.overflowChars) {
return overflowChars < other.overflowChars;
}
Enable
#
To enable the
curly_braces_in_flow_control_structures
rule, add
curly_braces_in_flow_control_structures
under
linter > rules
in your
analysis_options.yaml
file:
linter:
rules:
- curly_braces_in_flow_control_structures
If you're instead using the YAML map syntax to configure linter rules,
add
curly_braces_in_flow_control_structures: true
under
linter > rules:
linter:
rules:
curly_braces_in_flow_control_structures: true
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Report an issue.