跳到主要内容

deprecated_consistency

稳定版

缺少 deprecated 注解。

详情

#

务必 一致地应用 @Deprecated()

  • 如果一个类被标记为 deprecated,那么它的构造函数也应该被标记为 deprecated。
  • 如果一个字段被标记为 deprecated,那么指向它的构造函数参数也应该被标记为 deprecated。
  • 如果一个指向字段的构造函数参数被标记为 deprecated,那么该字段也应该被标记为 deprecated。

错误示例

dart
@deprecated
class A {
  A();
}

class B {
  B({this.field});
  @deprecated
  Object field;
}

正确示例

dart
@deprecated
class A {
  @deprecated
  A();
}

class B {
  B({@deprecated this.field});
  @deprecated
  Object field;
}

class C extends B {
  C({@deprecated super.field});
}

启用

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - deprecated_consistency

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

analysis_options.yaml
yaml
linter:
  rules:
    deprecated_consistency: true