
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.
47 lines
731 B
Plaintext
47 lines
731 B
Plaintext
== Why is this an issue?
|
|
|
|
include::description.adoc[]
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,text]
|
|
----
|
|
public void evaluate(int operator) {
|
|
switch (operator) {
|
|
/* ... */
|
|
case ADD: { // Noncompliant - nested code block '{' ... '}'
|
|
int a = stack.pop();
|
|
int b = stack.pop();
|
|
int result = a + b;
|
|
stack.push(result);
|
|
break;
|
|
}
|
|
/* ... */
|
|
}
|
|
}
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,text]
|
|
----
|
|
public void evaluate(int operator) {
|
|
switch (operator) {
|
|
/* ... */
|
|
case ADD: // Compliant
|
|
evaluateAdd();
|
|
break;
|
|
/* ... */
|
|
}
|
|
}
|
|
|
|
private void evaluateAdd() {
|
|
int a = stack.pop();
|
|
int b = stack.pop();
|
|
int result = a + b;
|
|
stack.push(result);
|
|
}
|
|
----
|
|
|