rspec/rules/S3242/java/rule.adoc

51 lines
1.2 KiB
Plaintext
Raw Normal View History

2020-06-30 12:48:39 +02:00
include::../description.adoc[]
== Noncompliant Code Example
2022-02-04 17:28:24 +01:00
[source,java]
2020-06-30 12:48:39 +02:00
----
public void printSize(ArrayList<Object> list) { // Collection can be used instead
System.out.println(list.size());
}
public static void loop(List<Object> list) { // java.lang.Iterable can be used instead
for (Object o : list) {
o.toString();
}
}
----
== Compliant Solution
2022-02-04 17:28:24 +01:00
[source,java]
2020-06-30 12:48:39 +02:00
----
public void printSize(Collection<?> list) { // Collection can be used instead
System.out.println(list.size());
}
public static void loop(Iterable<?> list) { // java.lang.Iterable can be used instead
for (Object o : list) {
o.toString();
}
}
----
== Exceptions
2021-01-27 13:42:22 +01:00
Parameters in non-public methods are not checked, because such methods are not intended to be generally reusable. ``++java.lang.String++`` parameters are excluded, because String is immutable and can not be always substituted for more generic type. Parameters used in any other context than method invocation or enhanced for loop are also excluded.
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]