Skip to main content

prefer_typing_uninitialized_variables

Learn about the prefer_typing_uninitialized_variables linter rule.

Stable
Core
Fix available

Prefer typing uninitialized variables and fields.

Details

#

PREFER specifying a type annotation for uninitialized variables and fields.

Forgoing type annotations for uninitialized variables is a bad practice because you may accidentally assign them to a type that you didn't originally intend to.

BAD:

dart
class BadClass {  static var bar; // LINT  var foo; // LINT   void method() {  var bar; // LINT  bar = 5;  print(bar);  } } 

BAD:

dart
void aFunction() {  var bar; // LINT  bar = 5;  ... } 

GOOD:

dart
class GoodClass {  static var bar = 7;  var foo = 42;  int baz; // OK   void method() {  int baz;  var bar = 5;  ...  } } 

Enable

#

To enable the prefer_typing_uninitialized_variables rule, add prefer_typing_uninitialized_variables under linter > rules in your analysis_options.yaml file:

analysis_options.yaml
yaml
linter:  rules:  - prefer_typing_uninitialized_variables 

If you're instead using the YAML map syntax to configure linter rules, add prefer_typing_uninitialized_variables: true under linter > rules:

analysis_options.yaml
yaml
linter:  rules:  prefer_typing_uninitialized_variables: true