
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.
51 lines
1001 B
Plaintext
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[]
|