
When an include is not surrounded by empty lines, its content is inlined on the same line as the adjacent content. That can lead to broken tags and other display issues. This PR fixes all such includes and introduces a validation step that forbids introducing the same problem again.
54 lines
1.1 KiB
Plaintext
54 lines
1.1 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Blindly importing all the classes in a package clutters the class namespace and could lead to conflicts between classes in different packages with the same name. On the other hand, specifically listing the necessary classes avoids that problem and makes clear which versions were wanted.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,java]
|
|
----
|
|
import java.sql.*; // Noncompliant
|
|
import java.util.*; // Noncompliant
|
|
|
|
private Date date; // Date class exists in java.sql and java.util. Which one is this?
|
|
----
|
|
|
|
=== Compliant solution
|
|
|
|
[source,java]
|
|
----
|
|
import java.sql.Date;
|
|
import java.util.List;
|
|
import java.util.ArrayList;
|
|
|
|
private Date date;
|
|
----
|
|
|
|
=== Exceptions
|
|
|
|
Static imports are ignored by this rule. E.G.
|
|
|
|
[source,java]
|
|
----
|
|
import static java.lang.Math.*;
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Explicitly import the specific classes needed.
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|