跳到主要內容

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