unnecessary_ constructor_ name
Learn about the unnecessary_constructor_name linter rule.
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.10.3. Report an issue.