There is no good reason to create a new object to not do anything with it. Most of the time, this is due to a missing piece of code and so could lead to an unexpected behavior in production.


If it was done on purpose because the constructor has side-effects, then that side-effect code should be moved into a separate method and called directly.

== Noncompliant Code Example

----
new MyConstructor(); // Non-Compliant
----

== Compliant Solution

----
var something = new MyConstructor();  // Compliant
----

== Exceptions

Immediately dropped new objects inside ``++try++``-statements are ignored.

----
try {
  new MyConstructor();
} catch (e) {
  /* ... */
}
----

ifdef::env-github,rspecator-view[]
'''
== Comments And Links
(visible only on this page)

include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]
