prefer_typing_uninitialized_variables
未初始化的字段应具有显式的类型注解。
未初始化的变量应具有显式的类型注解。
描述
#当一个没有初始化器的变量没有显式类型注解时,分析器会产生此诊断。
如果没有类型注解或初始化器,变量将具有 dynamic
类型,这允许将任何值赋给该变量,从而经常导致难以识别的 Bug。
示例
#以下代码会产生此诊断,因为变量 r
既没有类型注解也没有初始化器。
dart
Object f() {
var r;
r = '';
return r;
}
常见修复
#如果变量可以初始化,则添加一个初始化器。
dart
Object f() {
var r = '';
return r;
}
如果变量不能初始化,则添加一个显式的类型注解。
dart
Object f() {
String r;
r = '';
return r;
}