跳到主要内容

unnecessary_parenthesis

稳定
可修复

不必要的括号可以被移除。

详情

#

避免在不需要时使用括号。

dart
a = (b);

dart
a = b;

如果括号不改变代码的含义并且不提高代码的可读性,则认为是不必要的。其目的不是强制所有开发者记住表达式优先级表,这就是包含第二个条件的原因。满足此条件的示例包括

  • 级联表达式 - 有时级联表达式的目标不清楚,尤其是在赋值或嵌套级联的情况下。例如,表达式 a.b = (c..d)
  • 标记之间带有空格的表达式 - 看到诸如 !await foo 的表达式可能看起来很奇怪,它是有效的并且等同于 !(await foo)
  • 逻辑表达式 - 括号可以提高由优先级定义的隐式分组的可读性。例如,表达式 (a && b) || c && d

启用

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - unnecessary_parenthesis

如果你使用 YAML 映射语法配置 linter 规则,请在 linter > rules 下添加 unnecessary_parenthesis: true

analysis_options.yaml
yaml
linter:
  rules:
    unnecessary_parenthesis: true