跳到主要内容

prefer_final_locals

稳定版
修复可用

如果变量声明之后没有被重新赋值,则建议使用 final。

详情

#

应该 优先将变量声明为 final,如果它们在代码中后续没有被重新赋值。

尽可能将变量声明为 final 是一个好的实践,因为它有助于避免意外的重新赋值,并允许编译器进行优化。

不良示例

dart
void badMethod() {
  var label = 'hola mundo! badMethod'; // LINT
  print(label);
}

良好示例

dart
void goodMethod() {
  final label = 'hola mundo! goodMethod';
  print(label);
}

良好示例

dart
void mutableCase() {
  var label = 'hola mundo! mutableCase';
  print(label);
  label = 'hello world';
  print(label);
}

不兼容的规则

#

prefer_final_locals 规则与以下规则不兼容

启用

#

要启用 prefer_final_locals 规则,请在你的 analysis_options.yaml 文件中的 linter > rules 下添加 prefer_final_locals

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_final_locals

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

analysis_options.yaml
yaml
linter:
  rules:
    prefer_final_locals: true