== Why is this an issue? include::../description.adoc[] === Exceptions The usage of a code block after a `case` is allowed. == How to fix it The nested code blocks should be extracted into separate methods. === Code examples ==== Noncompliant code example [source,csharp,diff-id=1,diff-type=noncompliant] ---- public void Evaluate() { /* ... */ { // Noncompliant - nested code block '{' ... '}' int a = stack.pop(); int b = stack.pop(); int result = a + b; stack.push(result); } /* ... */ } ---- ==== Compliant solution [source,csharp,diff-id=1,diff-type=compliant] ---- public void Evaluate() { /* ... */ StackAdd(); /* ... */ } private void StackAdd() { int a = stack.pop(); int b = stack.pop(); int result = a + b; stack.push(result); } ---- == Resources === Documentation * Wikipedia - https://en.wikipedia.org/wiki/Single-responsibility_principle[Single Responsibility Principle] ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]