omit_obvious_property_types
Omit obvious type annotations for top-level and static variables.
此规则目前处于 实验阶段 ,尚未在稳定版 SDK 中提供。
此规则提供 快速修复 。
_不兼容规则:always_specify_types _
详情
#Don't type annotate initialized top-level or static variables when the type is obvious.
BAD:
final int myTopLevelVariable = 7;
class A {
static String myStaticVariable = 'Hello';
}
GOOD:
final myTopLevelVariable = 7;
class A {
static myStaticVariable = 'Hello';
}
Sometimes the inferred type is not the type you want the variable to have. For example, you may intend to assign values of other types later. You may also wish to write a type annotation explicitly because the type of the initializing expression is non-obvious and it will be helpful for future readers of the code to document this type. Or you may wish to commit to a specific type such that future updates of dependencies (in nearby code, in imports, anywhere) will not silently change the type of that variable, thus introducing compile-time errors or run-time bugs in locations where this variable is used. In those cases, go ahead and annotate the variable with the type you want.
GOOD:
final num myTopLevelVariable = 7;
class A {
static String? myStaticVariable = 'Hello';
}
This rule is experimental. It is being evaluated, and it may be changed or removed. Feedback on its behavior is welcome! The main issue is here: https://github.com/dart-lang/linter/issues/5101.
使用方法
#要启用 omit_obvious_property_types
规则,请在你的 analysis_options.yaml
文件中,在 linter > rules 下添加 omit_obvious_property_types
:
linter:
rules:
- omit_obvious_property_types
除非另有说明,否则本网站上的文档反映的是 Dart 3.6.0。页面最后更新于 2025-02-05。 查看源代码 或 报告问题.