Skip to main content

avoid-unnecessary-factory

effort: 3m
pro+

Suggests converting a factory constructor to a regular constructor.

Example

❌ Bad:

class Point {
final double x;
final double y;

Point._(this.x, this.y);

// LINT: This factory constructor can be a regular constructor.
// Consider converting it to a regular constructor.
factory Point(double x, double y) {
return Point._(x, y);
}

// LINT: This factory constructor can be a regular constructor.
// Consider converting it to a regular constructor.
factory Point.atOrigin() => Point._(0, 0);
}

✅ Good:

class Point {
final double x;
final double y;

Point(this.x, this.y);

Point.atOrigin(): x = 0, y = 0;
}