rspec/rules/S3060/java/rule.adoc
Fred Tingaud 16f6c0aecf
Inline adoc when include has no additional value (#1940)
Inline adoc files when they are included exactly once.

Also fix language tags because this inlining gives us better information
on what language the code is written in.
2023-05-25 14:18:12 +02:00

37 lines
905 B
Plaintext

== Why is this an issue?
There's no valid reason to test ``++this++`` with ``++instanceof++``. The only plausible explanation for such a test is that you're executing code in a parent class conditionally based on the kind of child class ``++this++`` is. But code that's specific to a child class should be _in_ that child class, not in the parent.
=== Noncompliant code example
[source,java]
----
public class JunkFood{
public void doSomething() {
if (this instanceof Pizza) { // Noncompliant
// ...
} else if (...
}
}
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
=== Message
Offload the code that's conditional on this "instanceof" test to the appropriate subclass and remove the test.
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]