prefer_constructors_over_static_methods
Prefer defining constructors instead of static methods to create instances.
This rule is available as of Dart 2.0.
Details
#PREFER defining constructors instead of static methods to create instances.
In most cases, it makes more sense to use a named constructor rather than a static method because it makes instantiation clearer.
BAD:
class Point {
num x, y;
Point(this.x, this.y);
static Point polar(num theta, num radius) {
return Point(radius * math.cos(theta),
radius * math.sin(theta));
}
}
GOOD:
class Point {
num x, y;
Point(this.x, this.y);
Point.polar(num theta, num radius)
: x = radius * math.cos(theta),
y = radius * math.sin(theta);
}
Usage
#To enable the prefer_constructors_over_static_methods
rule, add prefer_constructors_over_static_methods
under linter > rules in your analysis_options.yaml
file:
linter:
rules:
- prefer_constructors_over_static_methods
Unless stated otherwise, the documentation on this site reflects Dart 3.5.3. Page last updated on 2024-07-03. View source or report an issue.