rspec/rules/S1128/java/rule.adoc
2023-10-10 16:26:46 +02:00

79 lines
1.8 KiB
Plaintext

== Why is this an issue?
Unnecessary imports refer to importing types that are not used or referenced anywhere in the code.
include::../description.adoc[]
=== Exceptions
Imports for types mentioned in Javadocs are ignored.
== How to fix it
While it's not difficult to remove these unneeded lines manually, modern code editors support the removal of every unnecessary import with a single click from every file of the project.
=== Code examples
==== Noncompliant code example
[source,java,diff-id=1,diff-type=noncompliant]
----
package myapp.helpers;
import java.io.IOException;
import java.nio.file.*;
import java.nio.file.*; // Noncompliant - package is imported twice
import java.lang.Runnable; // Noncompliant - java.lang is imported by default
public class FileHelper {
public static String readFirstLine(String filePath) throws IOException {
return Files.readAllLines(Paths.get(filePath)).get(0);
}
}
----
==== Compliant solution
[source,java,diff-id=1,diff-type=compliant]
----
package myapp.helpers;
import java.io.IOException;
import java.nio.file.*;
public class FileHelper {
public static String readFirstLine(String filePath) throws IOException {
return Files.readAllLines(Paths.get(filePath)).get(0);
}
}
----
== Resources
=== Documentation
* https://docs.oracle.com/javase/tutorial/java/package/usepkgs.html[Java packages]
=== Related rules
* S1144 - Unused "private" methods should be removed
* S1481 - Unused local variables should be removed
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
=== Message
* Unnecessary imports should be removed.
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]