Why is this an issue?

Jump statements (return, break and next) move control flow out of the current code block. So any statements that come after a jump are dead code.

Noncompliant code example

def foo(a)
  i = 10
  return a + i    # Noncompliant
  i += 1          # dead code
end

Compliant solution

def foo(a)
  i = 10
  return a + i
end

Resources