
org.sonar.l10n.squidjava.rules.squid.S1199.html Maven / Gradle / Ivy
Nested code blocks can be used to create a new scope and restrict the visibility of the variables defined within.
Using this feature in a method typically indicates that it takes on too many responsibilities, and should be refactored into smaller ones.
The following code:
public void evaluate(int operator) {
switch (operator) {
/* ... */
case ADD: { // Non-Compliant - nested code block '{' ... '}'
int a = stack.pop();
int b = stack.pop();
int result = a + b;
stack.push(result);
break;
}
/* ... */
}
}
should be refactored into:
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);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy