rspec/rules/S3030/java/rule.adoc

52 lines
1.4 KiB
Plaintext
Raw Normal View History

== Why is this an issue?
2021-04-28 16:49:39 +02:00
Importing a class statically allows you to use its ``++public static++`` members without qualifying them with the class name. That can be handy, but if you import too many classes statically, your code can become confusing and difficult to maintain.
=== Noncompliant code example
2021-04-28 16:49:39 +02:00
With the default threshold value: 4
2022-02-04 17:28:24 +01:00
[source,java]
2021-04-28 16:49:39 +02:00
----
import static java.lang.Math.*;
import static java.util.Collections.*;
import static com.myco.corporate.Constants.*;
import static com.myco.division.Constants.*;
import static com.myco.department.Constants.*; // Noncompliant
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
=== Message
Reduce the number of "static" imports in this class from x to the maximum allowed y.
=== Parameters
.threshold
****
----
4
----
The maximum number of static imports allowed
****
'''
== Comments And Links
(visible only on this page)
=== on 5 May 2021, 23:43:52 Caleb Ciampaglia wrote:
Consider ignoring static imports of all capital letters (constants) when processing this rule.  It can be less confusing to statically import constants from other classes than to specify the class name first.  This is especially true when writing code that use Jooq (or other libraries) which regularly use constants for defining tables, columns, and other DB objects.
endif::env-github,rspecator-view[]