Contents
Contents

Separate the control structure expression from its statement.

This rule is available as of Dart 2.0.0.

This rule has a quick fix available.

Details

#

From the style guide for the flutter repo:

DO separate the control structure expression from its statement.

Don't put the statement part of an if, for, while, do on the same line as the expression, even if it is short. Doing so makes it unclear that there is relevant code there. This is especially important for early returns.

BAD:

dart
if (notReady) return;

if (notReady)
  return;
else print('ok')

while (condition) i += 1;

GOOD:

dart
if (notReady)
  return;

if (notReady)
  return;
else
  print('ok')

while (condition)
  i += 1;

Note that this rule can conflict with the Dart formatter, and should not be enabled when the Dart formatter is used.

Usage

#

To enable the always_put_control_body_on_new_line rule, add always_put_control_body_on_new_line under linter > rules in your analysis_options.yaml file:

analysis_options.yaml
yaml
linter:
  rules:
    - always_put_control_body_on_new_line