unnecessary_ constructor_ name
Unnecessary .new
constructor name.
Details
#PREFER using the default unnamed Constructor over .new
.
Given a class
C
, the named unnamed constructor
C.new
refers to the same
constructor as the unnamed
C
. As such it adds nothing but visual noise to
invocations and should be avoided (unless being used to identify a constructor
tear-off).
BAD:
class A {
A.new(); // LINT
}
var a = A.new(); // LINT
GOOD:
class A {
A.ok();
}
var a = A();
var aa = A.ok();
var makeA = A.new;
Enable
#
To enable the
unnecessary_constructor_name
rule, add
unnecessary_constructor_name
under
linter > rules
in your
analysis_options.yaml
file:
linter:
rules:
- unnecessary_constructor_name
If you're instead using the YAML map syntax to configure linter rules,
add
unnecessary_constructor_name: true
under
linter > rules:
linter:
rules:
unnecessary_constructor_name: true
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Report an issue.