跳到主要內容

unnecessary_parenthesis

穩定
提供修正

可以移除不必要的括號。

詳細資訊

#

避免在不需要時使用括號。

不良範例

dart
a = (b);

良好範例

dart
a = b;

如果括號不會改變程式碼的含義,且不會提高程式碼的可讀性,則視為不必要。目標不是強迫所有開發人員將運算式優先順序表記在腦海中,這就是為什麼包含第二個條件的原因。此條件的範例包括

  • 串聯運算式 - 有時不清楚串聯運算式的目標是什麼,尤其是在賦值或巢狀串聯的情況下。例如,運算式 a.b = (c..d)
  • token 之間有空格的運算式 - 看到像 !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 map 語法來配置 linter 規則,請在 linter > rules 下新增 unnecessary_parenthesis: true

analysis_options.yaml
yaml
linter:
  rules:
    unnecessary_parenthesis: true