unnecessary_constructor_name

Stable
Recommended
Fix available

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:

dart
class A {
  A.new(); // LINT
}

var a = A.new(); // LINT

GOOD:

dart
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:

analysis_options.yaml
yaml
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:

analysis_options.yaml
yaml
linter:
  rules:
    unnecessary_constructor_name: true