メインコンテンツにスキップ

不要な括弧

安定版
修正が利用可能です

不要な括弧は削除できます。

詳細

#

必要ない場合は、括弧の使用を避けてください

悪い例

dart
a = (b);

良い例

dart
a = b;

括弧は、コードの意味を変えず、コードの可読性を向上させない場合に不要と見なされます。目標は、すべての開発者に演算子の優先順位表を頭に入れておくことを強制することではありません。そのため、2 番目の条件が含まれています。この条件の例としては、次のものがあります。

  • カスケード式 - 特に代入やネストされたカスケードの場合、カスケード式のターゲットが不明確な場合があります。たとえば、式 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 > rules の下に unnecessary_parenthesis: true を追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    unnecessary_parenthesis: true