rspec/rules/S2211/java/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

51 lines
1001 B
Plaintext

== Why is this an issue?
Shared coding conventions allow teams to collaborate effectively. While types for lambda arguments are optional, specifying them anyway makes the code clearer and easier to read.
=== Noncompliant code example
[source,java]
----
Arrays.sort(rosterAsArray,
(a, b) -> { // Noncompliant
return a.getBirthday().compareTo(b.getBirthday());
}
);
----
=== Compliant solution
[source,java]
----
Arrays.sort(rosterAsArray,
(Person a, Person b) -> {
return a.getBirthday().compareTo(b.getBirthday());
}
);
----
=== Exceptions
When the lambda has one or two parameters and does not have a block this rule will not fire up an issue as things are considered more readable in those cases.
[source,java]
----
stream.map((a, b) -> a.length); // compliant
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
=== Message
Specify a type for: 'x' {, 'y', ...}
endif::env-github,rspecator-view[]