class_members_ordering
| Severity | Quick Fix | Options |
|---|---|---|
| Info | ❌ | ❌ |
Regular classes
Class members should be ordered in the following sequence:
- Public static fields
- Private static fields
- Public instance fields
- Private instance fields
- Public constructors
- Public named constructors
- Private constructors
- Private named constructors
- Public getters
- Private getters
- Public setters
- Private setters
- Public static methods
- Public instance methods
- Private static methods
- Private instance methods
Widgets and states
When a class extends Widget or State, constructors come first:
- Public constructors
- Public named constructors
- Private constructors
- Private named constructors
- Public static fields
- Private static fields
- Public instance fields
- Private instance fields
- Public getters
- Private getters
- Public setters
- Private setters
- Public static methods
- Public instance methods
- Private static methods
- Private instance methods
Bad
class A {
void method() {}
int field;
A({required this.field});
}
Good
class A {
final int field;
A({required this.field});
void method() {}
}
Bad
import 'package:flutter/widgets.dart';
class A extends StatelessWidget {
@override
Widget build(BuildContext context) {
return const Placeholder();
}
final String field;
const A({
super.key,
required this.field,
});
}
Good
import 'package:flutter/widgets.dart';
class A extends StatelessWidget {
const A({
super.key,
required this.field,
});
final String field;
@override
Widget build(BuildContext context) {
return const Placeholder();
}
}
