跳到主要内容

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