2023-05-03 11:06:20 +02:00
|
|
|
== Why is this an issue?
|
|
|
|
|
2020-06-30 12:47:33 +02:00
|
|
|
include::description.adoc[]
|
|
|
|
|
2023-05-25 14:18:12 +02:00
|
|
|
=== 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);
|
|
|
|
}
|
|
|
|
----
|
2020-06-30 12:47:33 +02:00
|
|
|
|