内容

本地标识符不应以下划线开头

避免为非私有标识符使用前导下划线。

此规则从 Dart 2.16 开始可用。

规则集:推荐Flutter

此规则提供了一个快速修复

详情

#

**不要**为非私有的标识符使用前导下划线。Dart 在标识符中使用前导下划线来将成员和顶层声明标记为私有。这会训练用户将前导下划线与其中一种声明相关联。他们看到_ 并认为“私有”。对于局部变量或参数,没有“私有”的概念。当其中一个的名称以下划线开头时,会向读者发送一个令人困惑的信号。为了避免这种情况,请不要在这些名称中使用前导下划线。

**例外:**未使用的参数可以命名为______ 等。这在回调中很常见,在回调中传递给您一个值,但您不需要使用它。给它一个仅由下划线组成的名称是表示该值未使用的惯用方式。

错误

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

正确

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

正常

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