rspec/rules/S3981/kotlin/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

46 lines
968 B
Plaintext

== Why is this an issue?
The size of a collection or an array is always greater than or equal to zero. So testing that a size is greater than or equal to zero doesn't make sense, since the result is always `true`. Similarly testing that it is less than zero will always return `false`. Perhaps the intent was to check the non-emptiness of the collection or array instead.
=== Noncompliant code example
[source,kotlin]
----
if (myList.size >= 0) { ... }
if (myList.size < 0) { ... }
boolean result = myArray.size >= 0;
if (0 > myArray.size) { ... }
----
=== Compliant solution
[source,kotlin]
----
if (!myList.isEmpty()) { ... }
if (myArray.size >= 42) { ... }
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
include::../highlighting.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]