跳到主要內容

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 map 語法來配置 Linter 規則,請在 linter > rules 下新增 prefer_final_locals: true

analysis_options.yaml
yaml
linter:
  rules:
    prefer_final_locals: true