Skip to main content

prefer-widget-private-members

added in: 1.3.0
⚙️🛠

Warns when a widget or widget state have public methods, getter or setters. For widget state, it additionally checks whether its fields are private.

⚙️ Config

Set ignore-static (default is false) to allow widgets to have static public members.

Set ignored-names (default is none) to ignore specific member names.

dart_code_metrics:
...
rules:
...
- prefer-widget-private-members:
ignore-static: false
ignored-names:
- some
- name

Example

❌ Bad:

class SomeStatefulWidget extends StatefulWidget {

_someStatefulWidgetState createState() => _SomeStatefulWidgetState();
}

class _SomeStatefulWidgetState extends State<InspirationCard> {
String _privateState;
bool publicState; // LINT


void initState() {
super.initState();
}

void _somePrivateCallback() {}

// LINT
void somePublic() {}


Widget build(BuildContext context) {
return StatefulWidget();
}
}

✅ Good:

class SomeStatefulWidget extends StatefulWidget {

_someStatefulWidgetState createState() => _SomeStatefulWidgetState();
}

class _SomeStatefulWidgetState extends State<InspirationCard> {
String _privateState;


void initState() {
super.initState();
}

void _somePrivateCallback() {}


Widget build(BuildContext context) {
return StatefulWidget();
}
}