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

ローカル識別子に先頭アンダースコア使用しない

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

ローカル識別子には、先頭にアンダースコアを使用しないでください。

詳細

#

使用しないでください: プライベートではない識別子に先頭アンダースコアを使用することは避けてください。Dart では、メンバーとトップレベル宣言をプライベートとしてマークするために、識別子の先頭にアンダースコアを使用します。これにより、ユーザーは先頭アンダースコアをこれらの宣言のいずれかの種類に関連付けるようになります。「_」を見ると「プライベート」と考えます。ローカル変数またはパラメータには「プライベート」という概念はありません。それらの名前がアンダースコアで始まる場合、それは読者に混乱を招くシグナルを送ります。これを避けるために、それらの名前には先頭アンダースコアを使用しないでください。

例外:: 使用されていないパラメータには、______ などの名前を付けることができます。これは、値が渡されるが使用する必要がないコールバックで一般的に行われるプラクティスです。アンダースコアのみで構成される名前を付けることは、値が使用されていないことを示す慣用的な方法です。

悪い例

dart
void print(String _name) {
  var _size = _name.length;
  ...
}

良い例

dart
void print(String name) {
  var size = name.length;
  ...
}

OK

dart
[1,2,3].map((_) => print('Hello'));

有効にする

#

no_leading_underscores_for_local_identifiers ルールを有効にするには、analysis_options.yaml ファイルの linter > rules の下に no_leading_underscores_for_local_identifiers を追加します。

analysis_options.yaml
yaml
linter:
  rules:
    - no_leading_underscores_for_local_identifiers

代わりに YAML マップ構文を使用してリンタルールを構成している場合は、linter > rules の下に no_leading_underscores_for_local_identifiers: true を追加します。

analysis_options.yaml
yaml
linter:
  rules:
    no_leading_underscores_for_local_identifiers: true