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
See
- MISRA C:2004, 14.1 - There shall be no unreachable code
- MISRA C++:2008, 0-1-1 - A project shall not contain unreachable code
- MISRA C++:2008, 0-1-9 - There shall be no dead code
- MISRA C:2012, 2.1 - A project shall not contain unreachable code
- MISRA C:2012, 2.2 - There shall be no dead code
- MITRE, CWE-561 - Dead Code
- CERT, MSC56-J. - Detect and remove superfluous code and values
- CERT, MSC12-C. - Detect and remove code that has no effect or is never
executed