跳到主要内容

no_leading_underscores_for_local_identifiers

稳定
推荐
修复可用

避免局部标识符使用前导下划线。

详情

#

不要对非私有的标识符使用前导下划线。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

如果您改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 no_leading_underscores_for_local_identifiers: true

analysis_options.yaml
yaml
linter:
  rules:
    no_leading_underscores_for_local_identifiers: true