跳到主要內容

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