跳至主要內容

overridden_fields

穩定
建議

請勿覆寫欄位。

詳細資訊

#

請勿覆寫欄位。

覆寫欄位幾乎總是無意之舉。無論如何,這都是一種不好的做法。

不良範例

dart
class Base {
  Object field = 'lorem';

  Object something = 'change';
}

class Bad1 extends Base {
  @override
  final field = 'ipsum'; // LINT
}

class Bad2 extends Base {
  @override
  Object something = 'done'; // LINT
}

良好範例

dart
class Base {
  Object field = 'lorem';

  Object something = 'change';
}

class Ok extends Base {
  Object newField; // OK

  final Object newFinal = 'ignore'; // OK
}

良好範例

dart
abstract class BaseLoggingHandler {
  Base transformer;
}

class LogPrintHandler implements BaseLoggingHandler {
  @override
  Derived transformer; // OK
}

啟用

#

若要啟用 overridden_fields 規則,請在您的 analysis_options.yaml 檔案中,於 linter > rules 下新增 overridden_fields

analysis_options.yaml
yaml
linter:
  rules:
    - overridden_fields

如果您改用 YAML map 語法來設定 linter 規則,請在 linter > rules 下新增 overridden_fields: true

analysis_options.yaml
yaml
linter:
  rules:
    overridden_fields: true