目录

omit_obvious_property_types

为顶级和静态变量省略明显的类型注解。

此规则目前为实验性,尚未在稳定的 SDK 中提供。

此规则有可用的快速修复

不兼容的规则:always_specify_types

详细信息

#

当类型明显时,不要为初始化的顶级或静态变量添加类型注解。

错误

dart
final int myTopLevelVariable = 7;

class A {
  static String myStaticVariable = 'Hello';
}

正确

dart
final myTopLevelVariable = 7;

class A {
  static myStaticVariable = 'Hello';
}

有时推断出的类型不是您希望变量具有的类型。例如,您可能打算稍后分配其他类型的值。您可能还希望显式编写类型注解,因为初始化表达式的类型不明显,并且对于代码的未来读者来说,记录此类型将有所帮助。或者,您可能希望提交到特定类型,以便将来对依赖项的更新(在附近的代码中、导入中、任何位置)不会默默地更改该变量的类型,从而在变量使用位置引入编译时错误或运行时错误。在这些情况下,请继续使用您想要的类型对变量进行注解。

正确

dart
final num myTopLevelVariable = 7;

class A {
  static String? myStaticVariable = 'Hello';
}

此规则为实验性规则。 它正在评估中,可能会被更改或删除。欢迎对它的行为提供反馈!主要问题在这里:https://github.com/dart-lang/linter/issues/5101。

用法

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - omit_obvious_property_types