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;
}