avoid-duplicate-factories
Warns when a class has a factory constructor with the same implementation as another factory constructor.
This rule does not take into account parameter/factory names and other insignificant details.
Example
❌ Bad:
class SomeClass {
SomeClass(String data);
factory SomeClass.fromString(String data) => SomeClass(data);
// LINT: This factory constructor is a duplicate of SomeClass.fromString.
// Try removing this factory or adding unique functionality.
factory SomeClass.parse(String data) => SomeClass(data);
}
class SomeClass {
SomeClass();
factory SomeClass.empty() => SomeClass();
// LINT: This factory constructor is a duplicate of SomeClass.empty.
// Try removing this factory or adding unique functionality.
factory SomeClass.withData(String data) => SomeClass();
}
✅ Good:
class SomeClass {
SomeClass(String data);
factory SomeClass.fromString(String data) => SomeClass(data);
}