跳到主要内容

always_put_control_body_on_new_line

稳定
修复可用

将控制结构表达式与其语句分离。

详情

#

来自 flutter repo 的风格指南

应该 将控制结构表达式与其语句分离。

即使语句很短,也不要将 ifforwhiledo 的语句部分与表达式放在同一行。这样做会使那里是否有相关代码变得不清楚。这对于提前返回尤其重要。

错误示例

dart
if (notReady) return;

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

while (condition) i += 1;

正确示例

dart
if (notReady)
  return;

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

while (condition)
  i += 1;

请注意,此规则可能与 Dart 格式化程序冲突,并且在使用 Dart 格式化程序时不应启用。

启用

#

要启用 always_put_control_body_on_new_line 规则,请在您的 analysis_options.yaml 文件中的 linter > rules 下添加 always_put_control_body_on_new_line

analysis_options.yaml
yaml
linter:
  rules:
    - always_put_control_body_on_new_line

如果您改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 always_put_control_body_on_new_line: true

analysis_options.yaml
yaml
linter:
  rules:
    always_put_control_body_on_new_line: true